Visual Studio.net 调试学习笔记
来源:互联网 发布:php 二维数组取最大值 编辑:程序博客网 时间:2024/05/20 16:41
什么是symbols?
!sybols是用来存储源代码中函数、变量名与编译后的机器代码的对应关系的,因为机器代码中函数名、变量名都
只是32位地址而已,有了symbols,我们就可以在调试时把获得的地址转化为函数、变量名来显示。
!?symbols还做源代码和机器代码的映射,这样当机器代码执行到哪时,我们就可以在源代码调试上跟踪到源代
码的相应位置,这就是我们为什么可以用断点和单步之类的来跟踪
*windows 平台下symbol文件为.pdb文件
symbols匹配。
*1,打开cmd
2,“cd”到windbg目录下
3,打命令“symchk 可执行文件路径 /s symbols所在目录”
4,如果匹配,显示:
SYMCHK:FAILED files=0
SYMCHK:PASSED+IGNORED=1
什么是dump?
*!dump是调试程序保存的某个时间片程序的内存拷贝,或者说犯罪现场。用来重现这个时刻程序的状态,dump一般
还用于程序或者系统崩溃时。
什么是Waston?
windows自带的简单的debug程序,唯一的作用是当程序崩溃时,保存dump,发送到MS
how Create a dump?
1,打开windbg,按F6,选择需要附加的进程。
2.输入命令".dump /ma 目标路径.dmp",其中/ma,m=mini dump,a=all。
Visual Studio 断点(breakpoint)
condition:设置条件表达式,条件符合时停下
hit count:根据经过的次数大于等于小于多少次停下
when hit:设置输出语句,经过时不停下,在output窗口打印该语句。适合用于窗口调试
enable/disable breakpoint:该窗口在 dubug->windows 下
如何捕捉异常?
当异常代码被try-catch封装了,调试程序就捕捉不到异常了,需要配置编译器,当异常被封装时立刻捕捉,步骤
debug->exceptions->勾选Common Language Runtime Exceptions和Managed Debugging Assistants的Thrown项
调试工具/窗口(调试时,debug->windows 下)
Memory windows: 用16进制显示内存地址的存储的值
Dissemble window :反汇编
Watch window:
Immediate windows:可以即时的打一些命令,立即窗口会马上执行出来
Register Window:
Call Stack Windows: 程序的调用关系
Thread window:
Process window:把调试程序附加到进程上去调试
Module window:显示进程加载了那些DLL,这些DLL有没有加载symbol,加载的symbol地址。如果有dll加载symbol
失败,显示尝试过那些路径。
attach debugee
按F11加载源代码
没有solution,加载单一cs文件,也可以断点。
debug crash application
程序出错时,debug程序自动跳出来附加上去调试
remote debugging
Microsoft visual studio 9.0/common7/IDE/Remote Debugger下
把文件夹复制到目标机器上去。
?表示存疑
*表示确定一定以及肯定
!表示理解或者不确定
- Visual Studio.net 调试学习笔记
- Visual Studio.net调试javascript
- Visual Studio 学习笔记
- visual studio .net /2005常见调试问题
- visual studio 2008调试.net 源码
- Visual Studio.Net使用技巧手册---笔记
- 将 Visual Studio .NET 调试器用于 ASP.NET 应用程序
- 将 Visual Studio .NET 调试器用于 ASP.NET 应用程序
- 将 Visual Studio .NET 调试器用于 ASP.NET 应用程序
- 将 Visual Studio .NET 调试器用于 ASP.NET 应用程序
- 将 Visual Studio .NET 调试器用于 ASP.NET 应用程序
- Visual Studio .NET学习之路
- Visual Studio .NET 学习之路
- 浅谈Visual Studio.NET的学习
- Visual Studio .NET 学习之路
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(二)-- Web Api Demo
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步
- 使用Visual Studio.net调试javascript最方便的方法
- sizeof操作符
- 对职业生涯的感悟
- ubuntu软件包管理工具之dpkg
- static关键字
- 从基础程序员到高级程序员的发展之路
- Visual Studio.net 调试学习笔记
- 用links方式安装eclipse插件,路径中不能有中文
- typedef和#define
- 变参函数的实现
- 广域网协议
- windows2008已激活
- 汉诺塔Hanoi
- 监控软件
- 关键字class与struct