Windows调试,windows程序调试

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windows强制结束进程命令,cmd强制关闭进程命令
  • windows下的python opencv安装攻略,ubuntu安装opencv-python
  • winserver2016更改远程桌面端口,winserver2012修改远程桌面端口,Windows Server 修改远程桌面端口的实现
  • winserver2012配置iis,win2012 iis配置,Windows Server 2016服务器IIS配置的详细步骤(图文)
  • windows钩子函数,windows钩子基础教程
  • windows钩子函数,windows钩子基础教程,Windows的钩子机制详解
  • windows批处理命令,windows批处理官方教程
  • windows批处理命令,windows批处理官方教程,windows批处理命令教程
  • windows下怎么安装perl,linux安装perl环境
  • windows下怎么安装perl,linux安装perl环境,Windows10下安装配置 perl 环境的详细教程
  • windows下cmd中切换路径与目录查看,cmd怎么切换路径到文件夹
  • windows下cmd中切换路径与目录查看,cmd怎么切换路径到文件夹,cmd命令打开及切换目录路径的实现
  • windowsandroid手机版下载,windowsandroid安装apk
  • windowsandroid手机版下载,windowsandroid安装apk,WindowsAndroid 安装教程详解
  • windows2007下载,win2008server下载
  • 留言与评论(共有 条评论)
       
    验证码: