如何在Visual Studio调试器中查看段偏移内存地址?

时间:2010-09-07 18:05:51

标签: visual-studio debugging x86 disassembly

我正在调试反汇编中的一些代码(没有源代码可用),并且有许多指令通过ds段寄存器访问数据,例如:像这样的东西:

66 3B 05 8A B1 43 00 cmp         ax,word ptr ds:[43B18Ah]

如何让Visual Studio调试器告诉您ds段寄存器的偏移量,以便我可以检查这是指的内存? Watch窗口似乎不接受ds:[0x43B18A]或变体等表达式;它会告诉我ds为0,但这并不能告诉我0段的偏移是什么。

是否有一些特殊的语法,或者这是VS不能做的事情?我可以用另一个调试器运气,比如WinDbg或ntsd吗?

1 个答案:

答案 0 :(得分:2)

奇数代码,DS寄存器是默认值。只需忽略它,在Windows上DS,CS和ES寄存器设置为相同的值。受保护的模式选择器。和Memory窗口使用的值相同。只需省略ds:前缀。