在Visual Studio调试汇编代码时如何正确查看DWORD数组内容
Visual Studio 调试汇编代码时查看DWORD数组的正确方法
错误操作原因说明
- 高级语言调试中常用的
数组名, 长度写法在汇编调试场景下不被调试器识别,因此不生效。 - 直接写
arr + 1得到错误值是因为汇编下对数组名的偏移默认按字节计算,DWORD类型每个元素占4字节,偏移1字节读取到的是跨元素的错位数据,正确的逐元素偏移应该是arr、arr+4、arr+8以此类推。
正确查看方法
方法1:通过内存窗口查看(最稳定)
- 调试运行到数组内容已完成赋值的断点位置,依次点击顶部菜单栏「调试」→「窗口」→「内存」→ 选择任意一个内存窗口打开。
- 在内存窗口顶部的地址输入栏输入
arr后回车,即可定位到数组的起始内存地址。 - 右键点击内存窗口的内容展示区域,在弹出菜单中选择「无符号4字节整数」(匹配DWORD的类型定义),即可按DWORD为单位展示内存内容,从起始位置往后数6个单元就是你定义的
arr数组的全部元素。 - 如果需要查看
ReadDec_inline函数中pArr指针指向的数组,直接在地址栏输入pArr即可定位到对应数组的起始地址。
方法2:通过监视窗口直接格式化展示
打开监视窗口,输入对应表达式即可直接展开查看所有元素:
- 查看全局/局部数组
arr:输入(DWORD[6])arr,调试器会自动把arr识别为长度为6的DWORD数组,展开就能看到所有元素值。 - 查看
ReadDec_inline函数参数pArr指向的数组:输入(DWORD[6])pArr即可。
内容的提问来源于stack exchange,提问作者MathematicsBeginner
相关产品推荐
相关产品推荐

