我正在调试反汇编中的一些代码(没有源代码可用),并且有许多指令通过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吗?
答案 0 :(得分:2)
奇数代码,DS寄存器是默认值。只需忽略它,在Windows上DS,CS和ES寄存器设置为相同的值。受保护的模式选择器。和Memory窗口使用的值相同。只需省略ds:前缀。