0

转向plan9port实用程序我无法使用src可执行文件的实用程序(对于脚本它工作正常)。它是指db(1)通过以下方式从可执行文件中获取源文件名:

% echo 'main?z' | db $1 | <some staff>

其中$1是可执行程序名称和调试器使用 function 打印文件名main?z的特殊指令。db(1)main

但在我的 linux (Ubuntu) 版本中,它不起作用。db(1) 不产生文件名,它只打印过程的名称:main()并且没有源信息。

我试图编译9c -n(我认为-n可以防止编译器剥离代码)但没有运气。

4

1 回答 1

0

DWARF-2 是关键:

$ 9c -gdwarf-2 wc.c -o wc.o
$ 9l wc.o -o wc
$ echo 'p9main?z' | db wc
wc: linux 386 executable
no dt_debug section
p9main?                 p9main() /home/egor/plan9port/src/cmd/wc.c:21
于 2016-12-27T08:00:48.373 回答