2

打开二进制文件时,出现“无法打开”对话框,错误如下:

无法打开并附加到进程,请检查权限并重试。

(应该是特权而不是特权)

重现步骤:

  • 启动 edb 并使用 File --> Open 打开一个二进制文件
  • 或者直接从终端打开它:edb --run /path/to/binary/file

构建日期和平台:

dev-util/edb [1]
     Available versions:  (~)0.9.17!m!s
     Installed versions:  0.9.17!m!s(06:48:39 PM 04/17/2011)
     Homepage:            http://www.codef00.com/projects#debugger
     Description:         EDB "Evan's Debugger" (OllyDbg workalike for Linux)

在 Gentoo r10 - 2.6.31

以下是使用 gdb 运行时的信息:

(gdb) run --run virus.doc.bin 
Starting program: /usr/bin/edb --run virus.doc.bin
[Thread debugging using libthread_db enabled]
Starting edb version: 0.9.17 
Please Report Bugs & Requests At: http://bugs.codef00.com/
[load_plugins] Loading Plugin: libAnalyzer.so                 : 0x81dff18
[load_plugins] Loading Plugin: libBinarySearcher.so           : 0x81f1ea8
[load_plugins] Loading Plugin: libBookmarks.so                : 0x81f1a00
[load_plugins] Loading Plugin: libBreakpointManager.so        : 0x8250fe0
[load_plugins] Loading Plugin: libCheckVersion.so             : 0x81eb970
[load_plugins] Loading Core Plugin: libDebuggerCore.so        : 0x824b380
[load_plugins] Loading Plugin: libDumpState.so                : 0x8250938
[load_plugins] Loading Plugin: libELFBinaryInfo.so            : 0x82499c8
[load_plugins] Loading Plugin: libEnvironment.so              : 0x8253fa0
[load_plugins] Loading Plugin: libFunctionDB.so               : 0x824c768
[load_plugins] Loading Plugin: libFunctionFinder.so           : 0x824a0c0
[load_plugins] Loading Plugin: libHardwareBreakpoints.so      : 0x8257490
[load_plugins] Loading Plugin: libHeapAnalyzer.so             : 0x82586b0
[load_plugins] Loading Plugin: libOpcodeSearcher.so           : 0x8249940
[load_plugins] Loading Plugin: libOpenFiles.so                : 0x82574b0
[load_plugins] Loading Plugin: libReferences.so               : 0x82592b0
[load_plugins] Loading Plugin: libROPTool.so                  : 0x8259278
[load_plugins] Loading Plugin: libSessionManager.so           : 0x8258c90
[load_plugins] Loading Plugin: libStringSearcher.so           : 0x825b3d0
[load_plugins] Loading Plugin: libSymbolViewer.so             : 0x8255308
[Function Database] loaded with 103 function definitions. 
[New Thread 0xb26e0b70 (LWP 2401)]
[New Thread 0xb1d0eb70 (LWP 2481)]
comparing versions: [2321] [2321]
[Thread 0xb1d0eb70 (LWP 2481) exited]
[Thread 0xb26e0b70 (LWP 2401) exited]

Program exited normally.
(gdb)

PS:我也尝试以root身份运行它,但仍然遇到同样的错误。

4

5 回答 5

4

我是edb的作者。所以首先,感谢您对我的调试器的兴趣:-)。

如果有人对后续感兴趣,Quanta 通过我的 bugzilla 与我联系,因此您可以在此处查看更多讨论:https ://github.com/eteran/edb-debugger/issues/87

编辑:所以我最近能够重现这种错误!这可能与您所经历的原因不同,但谁知道呢,一切皆有可能:-)。

所以我的问题实际上是由 linux 中的 nvidia 驱动程序引起的!显然它正在使用进程获得的信号处理掩码玩游戏,这导致我得到同样的错误。更新驱动程序至少为我修复了它。希望这会帮助任何偶然发现这个问题并碰巧遇到同样问题的人。

于 2011-07-17T01:28:18.467 回答
1

仅供参考,我在尝试打开具有644权限的 root 拥有的二进制文件时看到了这个错误。chmod755和 chown 到普通用户处理了这个问题。

于 2012-02-10T01:38:57.113 回答
1

我遇到了edb无法运行crossfire的问题。我的问题是因为我正在运行64bitlive cd 并且crossfire无法运行所以edb抛出错误。

安装了 32 位支持 lib(libc6-i386) 并且 edb 运行良好。

于 2016-02-24T05:45:27.893 回答
0

这很可能是因为二进制文件未设置为可执行文件。使用 Chmod 将其设置为可执行文件。并以 root 身份运行 evan 调试器。它对我有用。

于 2014-01-28T00:42:35.093 回答
0

也许迟了,但无论如何,我重建了我所做的并解释了解决方案。

我启动了一个文本编辑器(Kate),构建汇编程序并将它们保存到硬盘上,这是我在“另存为”对话框中创建的目录。我组装了程序并使用 edb --run ./myprogram 启动它。确实是“无法打开并附加到进程,请检查权限并重试。” 对话框。

我的问题的解决方案。我已将文件夹的权限(仅)更改为 777 并且它有效。奇怪的是,当我重建错误时,它消失了。(第一个文件夹是 ipv42hex,第二个文件夹是 test。两个文件夹都有 dwrx-rx--x 权限。

于 2014-11-06T06:50:36.530 回答