码迷,mamicode.com
首页 > 系统相关 > 详细

使用Visual Studio调试用户模式进程(Debugging a User-Mode Process Using Visual Studio)

时间:2017-01-04 00:17:50      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:能力   test   对话   ref   hardware   target   环境   模式   企业   

由于本人能力有限,翻译不足之处敬请谅解,欢迎批评指正:sunylat@163.com

Visual Studio版本:Visual Studio 2015企业版,中文环境。

MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/hardware/hh406273(v=vs.85).aspx

     在Visual Studio里,你可以使用Windows用户模式调试器 (Windows User Mode Debugger),把一个正在运行的进程或者产物附加到一个新进程。进程能够运行在正在运行调试器的同一台电脑上,也可以运行在不同的电脑上。

在同一台电脑上附加一个正在运行的进程

  1. 在Visual Studio 2015里,从“调试”菜单,选择“附加到进程”;其它版本Visual Studio从“工具”菜单,选择“附加到进程”。
  2. 在“附加到进程”对话框中,把“传输”设为“Windows User Mode Debugger”,随后设置“限定符”为“Localhost”。
  3. 在“可用进程”列表中,选择要附加的进程。
  4. 点击“附加”按钮。

非侵入性调试

     如果你像调试一个正在运行的进程,并且想把对它运行的影响限制在最小程度,你应该非侵入性调试这个进程noninvasively

在同一台电脑上产生一个新进程

  1. 在Visual Studio里,从“工具”菜单,选择“Launch Under Debugger”。
  2. 在"Launch Under Debugger"对话框中,在”Path to the executable file“文本框中输入要附加程序路径信息,你可以在"Arguments"文本框里面输入参数,在"Working directory"文本框中输入工作目录。
  3. 点击"Launch"按钮。

调试器创建的进程(also known as spawned processes)和不是调试器创建的进程表现有一些不同。

代替使用标准堆API,调试器创建的进程使用一种特殊的调试堆。你可以强制一个(spawned processes)使用标准堆来替换调试堆,通过使用 _NO_DEBUG_HEAP 环境变量实现。

 另外,因为目标程序是调试器的一个子进程,它继承了调试器的权限,这种权限可能让目标程序能够执行某些在其它时候不允许的行为,例如:目标程序可能会影响到保护进程。

 从分开的电脑上附加一个正在运行的进程

      有时候,调试器和要被调试的代码运行在不同的电脑上。运行调试器的电脑叫主机(host computer),运行被调试代码的电脑叫目标机(target computer)。你可以配置目标机从主机上的Visual Studio里。配置目标机也被叫做(provisioning)目标机,更多信息,查看: Provision a computer for driver deployment and testing (WDK 8.1).

配置完目标机之后,你可以在主机的Visual Studio里附加一个正运行在目标机中的进程。

  1. 在Visual Studio 2015里,从“调试”菜单,选择“附加到进程”;其它版本Visual Studio从“工具”菜单,选择“附加到进程”。
  2. 在“附加到进程”对话框中,把“传输”设为“Windows User Mode Debugger”,随后设置“限定符”为目标机。
  3. 在“可用进程”列表中,选择要附加的进程。
  4. 点击“附加”按钮。

注意:如果你使用不同电脑作为主机和目标机,不要在目标机中安装Visual Studio和WDK,如果Visual Studio和WDK安装到目标机上了就支持调试了。

使用Visual Studio调试用户模式进程(Debugging a User-Mode Process Using Visual Studio)

标签:能力   test   对话   ref   hardware   target   环境   模式   企业   

原文地址:http://www.cnblogs.com/sunylat/p/6246714.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!