【发布时间】:2017-11-16 02:02:30
【问题描述】:
在 linux 服务器上,命令是
$ objdump -t exercise11 > symbol_table.txt
目的是找到程序中三个全局变量的内存地址和大小(以字节为单位)。 第二部分相当于
$ objdump -S exercise11 > 反汇编.txt
这里的目的是搜索文本文件并找到将值分配给变量的指令。
我的问题是我在本地机器上使用 Visual Studio 2017。我在 Visual Studio 命令提示符下,但要么我需要不同的东西,要么我误解了我在输出文件中阅读的内容。我也使用了 dumpbin 命令,但它似乎也没有产生正确的信息。您能否告诉我如何在 Visual Studio 中执行此操作以及如何找到我正在搜索的信息?
【问题讨论】:
-
“我也使用了 dumpbin 命令,但它似乎也没有产生正确的信息。”你是如何使用它的,结果是什么?
-
看来 dumpbin 和 objdump 命令产生了相同的结果。我使用了诸如 -SYMBOLS 之类的修饰符以及与帮助函数一起列出的其他命令,但它们都没有为函数 doSomething() 生成内存地址或机器代码
-
3 没有 cmets 否决票?现在我记得我为什么退出使用这个网站了。
-
Afaik,内存地址是在链接器组合所有目标文件时分配的。它们不在特定的 obj 文件中传递。
-
我知道这在 linux 终端上的 netbeans 中有效,我已经做到了。我只是不知道如何在视觉工作室中做到这一点。
标签: c++ visual-studio-2017 memory-address disassembly objdump