zoukankan      html  css  js  c++  java
  • Visual Studio远程调试

    **********转载请注明出处***********

    使用场景

    常用的主要是在部署的机器上程序出现问题, 而一般的部署机器上没有开发环境,此时需要准确的定位出错的原因时使用。

    进行远程调试时,主机可以是任何支持 Visual Studio 的平台。远程计算机可以是 32 位或 64 位平台。

    下面是总结的远程调试的步骤和注意事项

    步骤

    一、在远程计算机安装调试器

      1、将vs工具里的Remote Debugger(VS2015的路径为:Microsoft Visual Studio 14.0Common7IDERemote Debugger)文件夹拷贝到目标机器。

      2、从控制面板中找到“控制面板系统和安全管理工具→本地安全策略“,然后找到  “本地策略”—>"安全选项”,然后在右侧找到“网络访问:本地账户的共享和安全模式”,选

               中,设置为“经典:本地用户以自己的身份验证”。

      3、将需要调试的dll重新生成一下,把dll和pdb文件拷到可执行程序(.exe)所在目录或已发布好的网站bin目录底下,并共享该目录。

      3、打开vs远程调试监视器(“msvsmon.exe”),会出现下图中的窗口,点击选项菜单,选中无身份验证和允许任何用户进行调试。然后点击确定,这样,远程计算机就设

        置好了。当然,别忘了在远程计算机上启动你要调试的程序。

      【注】一般都是临时使用调试,因此不要作为服务运行,为了减少安全的配置,最好把防火墙临时关闭,调试结束后再开启。

    二、本地计算机配置和调试

      1、创建一个用户与远程用户名与密码安全相同,也可以修改当前使用的用户名和密码实现,无需新建用户,方法如下: 

          在“我的电脑”图标上点击右健,选择“管理”,然后找到“本地用户和组”-》“用户”,然后在当前用户的用户名上点击右键,选择“重命名”为与远程相同,然后再重新设置密码

              与远程相同即可。

      2、启动调试。打开项目,将生成路径指向远程计算机共享的目录,从调试菜单打开附加到进程窗口,如下图。

        传输:默认,限定符:默认是本机的机器名称,远程调试时设置为远程计算机IP;再选择要调试的程序,点击附加按钮,就可以设置断点调试了。

        

     

    【注】在windows 7中,按住SHIFT键,然后在visual studio 的图标上点击右键,然后选择“以其它用户身份运行”,然后输入远程调试用的账号和密码可以使用当前登录Window的账户远程调试 。

     远程调试时DebugView的使用:

    首先,将DebugView.exe复制到远程机,创建快捷方式,右键点击远程机DebugView的快捷方式,将”快捷方式“选项卡中的目标后加上” /c",点击“确定”保存。此后,点击该快捷方式可以启用DebugView可以打开DebugView远程客户端。在本地机器上打开DebugView,在计算机选项中“断开”本地连接,在“连接”中输入远程计算机IP即可。此时,本地计算机就能打印代码中System.Diagnostics.Debug.WriteLine("Show something!");输出的内容了。

    远程机和主机都需要注意的地方

    • 本地安全策略:

    控制面板、本地安全策略中:本地策略、安全选项、网络访问:本地帐户的共享和安全模型,确认是否已经设置为经典

    • 用户:

    两个机器上有相同的帐号和密码以进行用户验证模式下的连接,一般用管理员用户可以避免很多的安全问题

    调试的过程中,需要注意

    • 代码文件路径和内容不要任意修改,否则调试时无法定位到具体的错误
    • 符号文件(*.pdb)和代码一定要一样,符号文件要拷贝到远程机上

    在远程机上启动“Visual Studio远程调试器”服务程序(根据软件的x86和x64模式启动对应的版本),设置正确的验证方式,具体参考下表

    调试方式

    设置

    开发环境直接启动远程进程形式

    • 非托管程序: Remote with Windows authentication 、Remote with no authentication (Native only)两种形式可选
    • 托管程序:只能使用Remote with Windows authentication的连接,此时主机和远程机必须使用相同的帐号

    具体步骤:

    1、  将软件拷贝到远程机的约定目录(如c: emp)

    2、  在项目属性的Debug选项中设置远程目录为上面的约定目录(如c: emp)、执行文件名和远程主机名

       (如Windows验证的地址: KKAdministrator@192.1.68.1.1(这个名字在“远程调试监视器”界面上可以看到)

    无需验证的地址:192.1.68.1.1)

    3、  开发工具启动Debug即可远程启动调试软件,设置断点等

    进程附加形式

    Remote with Windows authentication 、Remote with no authentication (Native only)两种形式可选

    具体步骤:

    1、  远程机上启动要调试的进程,如果是web站点,启动web页面就激活了w3wp.exe进程

    2、  在主机上选择要调试的进程附加上

    3、  设置断点即可调试

  • 相关阅读:
    Spring Boot与Redis的集成
    Spring Boot 使用YAML配置
    Spring Boot与MyBatis的集成
    springboot 初识
    微服务架构
    Spring MVC 国际化
    Spring MVC 为控制器添加通知与处理异常
    Spring MVC 数据转换和格式化
    Spring MVC 上传文件
    Spring MVC 实例:Excel视图的使用
  • 原文地址:https://www.cnblogs.com/cheng2015/p/5038897.html
Copyright © 2011-2022 走看看