Windows调试,windows程序调试
c是visual studio中的一个组件。在windows下开发C是首选工具。这个工具厉害,大家都知道哈哈。
下面我给大家介绍一些windows下常用的调试器:
开发工具
工具
windbg
作为我们的开发工具和调试器,visual c当然也不逊色。它和其他调试器相比有什么优缺点?
作为visual c的一个组件,带源代码的可视化调试器功能非常强大。它可以显示全局符号名、局部变量名和结构。
但是如果没有源代码或者pdb符号文件,用visual c调试是一个痛苦的过程。因为它的汇编显示不显示汇编指令,所以不容易看清一个函数的逻辑!
因此,visual c #是一个源代码级调试器。如果你没有这个程序的源码,建议你用ollydbg。
如何使用可视化调试器?他的职能是什么?
1.vc调试器支持本地和远程调试。
2.vc是应用层调试器,不支持驱动调试。
3.vc对符号文件有很强的支持。如果有相应的符号,可以显示局部变量和数据结构。
4.一次可以调试多个进程。
5.您可以调试单个线程(挂起其他线程)
6.您可以查看所有线程调用堆栈。
7.代码和汇编指令可以相互切换,非常方便。
8.灵活的断点设置
Vc调试器可以通过两种方式调试程序:开始调试;附加调试
调试是最常用的一种。程序编译完成后,按F5开始调试。
2.附加调试
如何开始附加调试?“工具”-“附加到进程”(或直接按Ctrl Art p)在弹出的对话框中选择要调试的进程,点击“附加”。
第二,设置符号(pdb文件)
如果您不能在代码中中断断点,有几种可能性:
1.代码与编译时间不一致。
2.没有符号文件
3.符号文件与第一种情况不匹配。如果强制断点,可能是位置不对,所以不能在预留位置断开。最好能找到当时对应的源代码文件,或者去汇编视图,在汇编中破断点。
在第二种和第三种情况下,需要正确的符号文件和路径。
如果没有符号文件,建议用ollydbg调试。
如果有一个符号文件,并且位置已知,您可以按照下列步骤操作,
1.设置符号目录:工具-选项-调试-符号,添加符号路径。然后点击“加载所有符号”,符号将被自动加载。
2.如果不想设置符号目录,找到模块视图,选中模块点击鼠标右键,“加载符号”-“符号路径”手动选择正确的符号文件。
Vc支持很多断点。
1.常见断点:在代码中直接按F9。取消断点,然后按F9
有时普通断点无法满足调试要求。我们看看他支持哪些断点类型。
2.根据点击次数进行分类
如果只想在命中N次时中断,可以在断点上点击鼠标右键,选择“命中次数”设置。
3.发生中断时打印数据。
如果想在命中时打印一些日志,可以在断点处点击鼠标右键,选择“命中条件”设置。
4.条件断点
条件是常用的断点,比如局部变量的值等于什么。您可以在断点上单击鼠标右键来选择“条件”设置。
例如i==5 wsinfo.bNew==true(您可以为结构的字段设置条件)
条件断点:stricmp (proc32.szexefile, system)==0(如果进程名为system,则中断)
Vc还支持strcmp \strncmp等其他字符串比较函数。
5.条件筛选
如果只想中断某个线程,可以使用条件过滤器。右击断点并选择筛选器设置。
四。调试相关窗口
这些窗口可以在“调试”-“窗口”子菜单中找到。
1.模块列表
将显示所有模块信息。包括模块加载地址和大小、模块路径以及是否加载符号。
2.线程列表
可以在线程列表中查看每个线程的调用栈,可以挂起(冻结)单个线程。
3.班长
监控器可以监控全局变量或局部变量的值,当然也可以监控寄存器的值。
如果您想查看当前线程的LastError错误代码,请在监视器中输入@err。
4.装配工
可以看到源代码对应的汇编指令。
5.内存查看器
您可以根据地址查看内存数据。
6.输出窗
查看日志输出
7.调用堆栈
当前线程的调用堆栈
8.自动窗口和局部变量
显示当前局部变量或全局变量的值很方便。
9.断点列表
所有断点信息
10.注册窗口
所有寄存器的当前值
动词(verb的缩写)远程调试
如果我想在远程计算机上调试程序,应该怎么做?
1.在远程计算机上运行远程调试监视器(vcmsmon.exe)。
远程调试监视器的目录:C:\ Program Files \ Microsoft Visual Studio 10.0 \ Common 7 \ IDE \ Remote Debugger
(我的VC安装在c盘,路径默认。vc版是2010年。可能与您的不同)
然后选择版本。如果目标机器是x86,将x86目录中的所有文件复制到目标机器。如果是ia64,将ia64目录复制到目标机器。
然后在目标机器上启动vcmsmon.exe进程。并将其设置为TCP链接模式,端口是默认的。“工具”-“选项”中的设置
2.开始远程调试。
"项目"-"属性" "配置属性" "调试"
在“要启动的调试器”中选择“远程windows调试器”
在“命令”中输入要在远程计算机上调试的进程的完整路径
工作目录设置进程的工作目录。
“远程服务器名称”输入远程机器的IP
在“链接”中选择“无需验证的远程访问”
设置完成后,按F5开始调试。
3.远程附加调试
弹出对话框中的“工具”-“附加到进程”(或直接按Ctrl Art p)
选择“远程(.)”中的“转移”
在限定符中输入远程机器IP。
然后单击刷新。
选择要调试的进程,然后单击“附加”。
1.调试快捷键:
F10步步为营
F11单步
F5继续。
换档f11跳出
请注明出处。典灵熙孙艺酷语ddlx工作室
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。