doutao4480 2012-10-15 07:48
浏览 626
已采纳

google golang exec退出状态2和1

I want execute the dexdump in Android SDK platform-tools on Go language.

I already set the PATH variable. (I'm use Ubuntu 12.04)

Here is my code:

package main

import (
    "bytes"
    "fmt"
    "log"
    "os/exec"
)

func main() {
    path, err := exec.LookPath("dexdump")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(path)

    cmd := exec.Command(path)
    var out bytes.Buffer
    cmd.Stdout = &out
    err2 := cmd.Run()
    if err2 != nil {
        log.Fatal(err2)
    }
    fmt.Printf("%q
", out.String())
}

Result: /home/gunwoo/android-sdk-linux/platform-tools/dexdump

2012/10/15 16:44:39 exit status 2

exit status 1

why go doesn't find the path?

  • 写回答

1条回答 默认 最新

  • douwu8524 2012-10-15 08:37
    关注

    You don't provide any arguments for the exec.Run dexdump command, which possibly generates an error like:

    dexdump: no file specified
    dexdump: [-f] [-h] dexfile...
    
    -d : disassemble code sections
    -f : display summary information from file header
    -h : display file header details
    -C : decode (demangle) low-level symbol names
    -S : compute sizes only
    

    What output do you get when you run the following version of the program?

    package main
    
    import (
        "bytes"
        "fmt"
        "log"
        "os/exec"
    )
    
    func main() {
        path, err := exec.LookPath("dexdump")
        if err != nil {
            log.Fatal("LookPath: ", err)
        }
        fmt.Println(path)
        cmd := exec.Command(path)
        var out bytes.Buffer
        cmd.Stdout = &out
        err = cmd.Run()
        fmt.Printf("%s
    ", out.String())
        if err != nil {
            log.Fatal("Run: ", err)
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?