代码之家  ›  专栏  ›  技术社区  ›  kilojoules

调查为什么安装的二进制文件挂起[duplicate]

  •  -1
  • kilojoules  · 技术社区  · 6 年前

    我在我的linux机器上安装了一个包。运行已安装的二进制文件时,它会挂起:

    $installedBinary --help
    

    应该返回命令行选项的列表。相反,程序挂起并且没有响应。当我运行control+c时它关闭。

    我如何调查这个问题?

    2 回复  |  直到 6 年前
        1
  •  4
  •   Maxim Egorushkin    6 年前

    从…开始 strace -ffo traces ./installedBinary --help . 然后检查 traces.* 日志文件,特别是最后一行,其中可能显示它被阻止的内容。看到了吗 strace(1)

    你也可以从 htop s strace l lsof

        2
  •  0
  •   Basile Starynkevitch    6 年前

    Maxim Egorushkin's answer 是个好主意。但是在Linux上,大多数程序都有一些文档(通常,至少有一个文档) man 第页,请参见 man(1) & man(7) --help --救命 总结 sed(1) 解释了 超过 sed --help

    所以你也应该阅读你的 installedBinary DWARF 调试信息(例如添加 -g 对某些人来说 CFLAGS Makefile …)和 run it gdb

    注意,即使在Linux上,您也可能 malware (例如,对于Debian或Ubuntu,您可能会发现 .deb 用于发布恶意软件的源;这不太可能,但并非不可能)。信任二进制软件包提供商是一个社会问题,而不是技术问题。你的 已安装二进制文件 可能(原则上)会让你陷入麻烦。但它可能是一些 executable

    也许你的 总是 installedBinary < /dev/null 甚至 installedBinary --help < /dev/null