vs2008 调试时如何查看寄存器内容

调试菜单里没找到。

怎么调出来?

谢谢。

debug→windows→registers

在调试状态,然后主菜单的调试->窗口->寄存器 
或者按快键ALT+5

先下断点,然后按F5或者点击Debug->Start Debuging程序停在断点处。
然后点击按钮 Debug->Windows->DisAssambly

中文版是:菜单“调试 > 窗口 > 反汇编 
接着按Ctrl+Alt+D组合键打开反汇编窗口
========

在VS中调试C#程序,如何查看内存、寄存器、反汇编

http://blog.csdn.net/judyge/article/details/41315947

想查看反汇编代码,可在代码窗口中点右键->选择“转到反汇编”即可。在汇编代码窗口中,可以按F11来单步执行,以便更精确地跟踪代码的执行。

若想同时查看寄存器的变化情况,可以点击VS中的“调试”->“窗口”->“寄存器”菜单项。(需在调试过程中才会显示有此菜单项,如,程序执行到了断点而暂停时。如果在调试状态还是没有此菜单项,可试着以下操作:在VS中点击“工具”->“导入和导出设置”,选择“重置所有设置”,下一步,这时你可以保存当前设置或不保存,我觉得无所谓,下一步,选择“Visual C#开发设置”,“完成”。这样,“调试”->“窗口”->“寄存器”菜单项应该用显示出来了,记得要确保你的程序是在调试的过程中。)

关于查看内存,点击“调试”->“窗口”->“内存”->“内存1”...“内存4”(选一个就可以了。)。在内存窗口中的“地址”栏输入地址,按回车即可看到该地地址处的内存信息。
========

vs2010中查看内存和寄存器

http://blog.csdn.net/shuiniu1224/article/details/21997221

今天讲一下如何从VS2010中查看内存和寄存器状态,一般来讲,只要从事C/C++编程的人,基本上对于这篇文章完全可以略过了,但写这篇文章的初衷在于,自己也是从这一步中过来的,记得当年自己其实也不知道如何快速使用VS中各种工具,导致花了很多时间在查找资料上面。所以,本文基本上可以说是面向菜鸟级选手了。废话不多说,直接上菜。。。
一、查看寄存器
通常来说,在进行C或C++编程的时候,对于寄存器的查看还是不常用。但如果你在进行汇编代码编程,那么学会查看相关寄存器便显得非常重要,你可以从相关寄存器的值来确定各参数值是否有误,从而帮你快速检查代码。
如何查看寄存器?本文采用一个非常简单的程序进行演示,如下图1所示

图1
按下F5,全速运行到第12行处,此行代码显示的是调用一个进行简单加法的运算。
这里需要提及的是C/C++的函数调用约定,这是一个非常重要的概念,不懂的人一定要上网查看下win32下函数调用约定是什么意思,C/C++默认的调用约定是__cdecl,这种调用约定的其中一条是关于函数如何传参以及堆栈如何处理的问题,回到我们的例程,我们按下ALT+8进入反汇编,如下图2所示

图2
从上图我们可以看到,进入汇编代码后,我们按下ALT+5(也可到调试->窗口中看到),就可以看到寄存器窗口了,单步调试我们可以看到,程序首先将b送到寄存器EAX中,因此我们看到EAX的值变为2,然后把eax即b值压入堆栈中,同理,再把b送到ECX并压入堆栈(__cdecl调用约定规定传参从右至左依次压入堆栈),最后调用add函数,至于如何进入add调用下次再讲。这里我们就学会了查看寄存器了,至于其他寄存器变量分别代表什么意思,希望读者自己查阅相关资料,此处略去。
二、查看内存
查看内存是使用VS2010进行编码的一个非常基本的技能了,快速而准确地查看内存,可以帮助你准确分析代码中各变量的取值,以及存储状态,帮助你发现程序中的BUG,改进代码的健壮性。
如何查看内存?继续采用以上的例程进行说明,将程序F5到第13行,再单步到下一句

图3
按下ALT+6,此时我们可以看到内存1的窗口,我们从自动窗口中先找到指针p的地址,然后将地址复制到内存地址栏中,回车,即可看到此时地址中的值。内存窗口中左边的灰色值代表地址,右边则表示地址中存储的值。我们可以看到p地址对应的值为03,但后面还有000000跟着,其实因为我们存储的是一个整数值,需要4个字节存储,因此就算P中结果是3,也同样占用了4个字节。
这里还需要注意的一个概念是,大端法存储和小端法存储的概念。回到上面图中我们可以看出,内存地址从左至右,从上至下是依次增大的。我们这个值3其实正确的读法应该是从右至左读取的,即0x00000003,03是在最低位,而03也是存储在内存地址中的低地址中的,因此这是小端法存储,大端法则刚好相反。需要了解这方面更多信息的人,一定要上网查找更多资料多学习,本文就不再详述。
好了,以上就是本文的内容了,非常简单,有问题请留言。。。
========

VS看反汇编、寄存器、内存、堆栈调用来学习程序设计

http://blog.csdn.net/dinghqalex/article/details/43151143

其实计算机这套东西是真的太大了,太多的东西要学要理解更要掌握。学习的时候要不断拆分理解才能掌握得更牢固,学程序的时候可以通过查看程序的运行过程进而加深自己对程序设计的理解,调试出最优化的代码。
       VisualStudio,微软的高端IDE,可以写C/C++可以搞C#,写网站等等,牛逼得爆。VS调试方便功能强大,一般公司也用它来开发。我在学C++的时候也是用的VS,在学习的时候感觉用到的东西越来越多,还没理解得东西也很多,比如说堆栈调用,寄存器等等,然后就了解到VS的反汇编、寄存器、内存、堆栈调用等等功能窗口。
       好了  还是来扯怎么看这些东西,怎么玩
1. 首先还是新建一个C/C++项目,然后找个地方打上断点
我项目代码是这样的,我在第5行的时候加了个断点,然后让程序停下来了。

2. 用快捷键看反汇编、寄存器、内存、堆栈调用
下面是快捷键
ALT+5是寄存器窗口:

ALT+6是内存地址窗口:

ALT+7是调用堆栈的窗口(在程序很大的时候通过堆栈调用窗口来看程序在哪个函数停止的,里面变量哪里是空指针等,是很有用的):

ALT+8是反汇编窗口:

都说项目是调试出来的,是真的,写代码写得开心,可能在加班玩命堆代码的时候功能倒是做完了,但是有些地方有很多隐形的Bug,或许是同时忘了判断空指针等等小问题,程序老是崩溃,调试代码的技术还是很有必要的。
       用这几个窗口可以快速定位问题和学习C++和计算机系统。
========

VS调试查看寄存器学习总结相关推荐

  1. Windbg 内核调试,寄存器窗口没有数据

    之前在使用Windbg进行内核调试的时候,想要查看寄存器的值,结果发现打开寄存器窗口之后,不显示数据,但是执行r命令可以正常查看寄存器的值,网上搜索了一下相关资料,记录一下. 环境:Windbg.ex ...

  2. 解决PyCharm调试查看变量时一直显示collecting data并报错Timeout waiting for response且看不到任何内容

    问题描述 如题,在用PyCharm进行Python代码调试查看具体变量时,会随机遇到一直显示collecting data,到最后报错Timeout waiting for response,在界面中 ...

  3. TC27x寄存器学习

    说明:用到的一些寄存器,参考用户手册,记录如下: 目录 Watchdog Timer Control Register END INIT位: LCK位: PW位 : REL位: WDTSCON1 WD ...

  4. 借助gdb调试glibc代码学习House of Orange

    转自: https://bbs.pediy.com/thread-251195.htm house_of_orange https://www.jianshu.com/p/1e45b785efc1 借 ...

  5. 查看和学习Java官方文档

    目录 为什么要学习Java官方文档? 去哪里找Java官方文档? 怎么下载Java官方文档? 怎么查阅和学习Java文档? 为什么要学习Java官方文档? 主要原因是Java体系十分庞大, 市面上的书 ...

  6. CortexM3与M4寄存器学习笔记

    寄存器学习 CortexM3和M4处理器的寄存器组中有16个寄存器,其中13个为32位通用目的寄存器,其它3个有特殊用途,如下图所示. 1.R0~R12 寄存器R0-R12为通用目的寄存器,前8个(R ...

  7. keil中不显示system_Viewer,无法查看寄存器的问题

    keil中不显示system_Viewer,无法查看寄存器的问题 程序编写完成,进入dubug后运行程序,想要看一下system Viewer中对应寄存器的状态发现无法查看,在网上查找一番教程后终于解 ...

  8. Hi3559AV100如何调试NVP6324 寄存器

    NVP6324与主机通过I2C进行通讯的.为了方便调试NVP6324图像功能,方便调试各个寄存器的值,故添加一个可以获取和设置各个寄存器值ioctl,以便于应用层能可以动态设置. 首先在jaguar1 ...

  9. gdb调试查看CALL指令的压栈情况

    gdb调试查看CALL指令的压栈情况 文章目录 gdb调试查看CALL指令的压栈情况 CALL指令时压栈 使用gdb调试验证CALL指令压栈情况 查看_start标号断点执行前的情况 查看反汇编代码 ...

最新文章

  1. 荣耀X8碎屏2020-05-14
  2. oracle 控制文件作用是什么,Oracle控制文件(controlfile)作用
  3. wince工业平板电脑_如何防止工业平板电脑温度过高?
  4. Linux环境下使用rpm包安装GitLab
  5. 最后一周,如何高效率的备考软考信息安全工程师?
  6. 奇偶数对调,保持顺序 —— 剑指Offer
  7. java none怎么用tomcat_在docker中部署tomcat并且部署java应用程序的步骤详解
  8. 编译原理---代码优化基础(自己看)
  9. codeforces 446A DZY Loves Sequences
  10. 基于大数据挖掘----浅谈大数据与大数据挖掘
  11. ATAT-mcsqs- 运行后出现报错:段错误(吐核/core dumped)
  12. android随机抽奖代码_Android 中从一个集合或者数组中随机抽取几个不同的值
  13. 【汤家凤考研数学手稿】第五章 定积分【重点】
  14. UartAssist - 串口调试助手。
  15. 公排系统php,全球公排自动滑落二二复制多级分销系统PHP二二复制多级分销源码...
  16. 拼多多根据ID取商品详情-API
  17. 武魂java_jdk及tomcat的安装
  18. Windows资源管理器未响应解决方案
  19. 学习记录297@python全字符匹配
  20. swing打地鼠游戏_经典街机游戏中的那些奖励关,为了得高分每次都被游戏厅老板吼...

热门文章

  1. Understand Execution Context
  2. FileChannel应用实例——本地文件读数据
  3. thymeleaf模板的使用——1,thymeleaf概述|| thymeleaf 的使用方法|| 如何修改Thymeleaf的默认存放地址||Thymeleaf的相关语法
  4. IntelliJ IDEA绑定Github报Error 403: Not Authorized没有授权问题解决方法
  5. Chrome 技术篇-console控制台检测xpath、css唯一性
  6. Python 技术篇-pyhook暂停键盘鼠标监听事件,停止键盘鼠标监听事件且不关闭程序
  7. Python 基础篇-python3安装pyHook和pywin32库
  8. [YTU]_2532(投简历)
  9. Remove Duplicates from Sorted ListII
  10. tomcat9扩展php 插件,Eclipse插件开发tomcat扩展