【发布时间】:2019-01-20 05:11:05
【问题描述】:
编写一个简单的 hello_world.c 程序,并用 32 位 MinGW 编译,
objdump 可以使用以下方式显示符号表:
objdump -t hello_world.exe
然后符号表有一个_main 的条目:
...
[ 32](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 1) 0x00000460 _main
...
但是,当在 x64dbg 调试器中加载 hello_world.exe 文件时,
_main符号未显示,从下面的符号列表中可以看出
当hello_world 模块被选中时。
这很烦人,因为我想在用户开始时创建一个断点
hello_world 中的代码,并使用符号跳转到起始位置
会很方便的。
知道如何将_main 符号包含在符号列表中吗?
【问题讨论】:
-
我不知道 x64dbg,但您似乎列出了导入的符号(或者您可能只是在图像中显示了这些符号,但您也有其他符号?)
-
@Jester:用图像更新了问题,显示选择了“hello_module.exe”来显示符号。由于在该模块中声明了
_main,并且还由objdump列出,我希望它会显示在列表中。 -
但是列表中的所有项目都是导入类型的。 _main 不会是类型导入。
-
@WilliamJBagshaw:谢谢,我明白你的意思了。但是,列表是完整的,所以除了“导入”之外没有其他类型,所以由于某种原因 x64dbg 不显示本地符号。
标签: c debugging assembly symbols ollydbg