Visual Studio 附加到进程调试
Visual Studio附加到进程调试
Visual Studio远程调试
Visual Studio 附加到进程调试
一般的调试,无需多说。但是对于服务开发:如何在消费端调用服务之后,进入Visual Studio中的断点,就是一个问题
这个问题可以用 Visual Studio 调试 下的 附加到进程 解决,步骤如下:
- 使用管理员身份运行Visual Studio
- 使用 Debug 方式发布服务
- 将服务部署到本地 IIS 并在浏览器中浏览一次
- 在代码中打好断点
- 将解决方案配置为 Debug ,选择 调试 下的 附加到进程
- 勾选 显示所有用户进程 并 刷新
- 选择对应的 w3wp.exe 进程,点击 附加
注意:
如果存在多个IIS站点则会有多个 w3wp.exe 进程,可以根据可用进程的 用户名 进行区分,或者暂时停用其他站点
如果找不到 w3wp.exe 进程,则可能是未在浏览器中浏览站点
如果无法进入断点则可能是以下原因
1.没有使用 Debug 方式发布
2.没有使用 Debug 方式调试
3.对代码做过修改而没有重新发布本地服务
4.附加到了不正确的进程
Visual Studio 远程调试
当然在开发阶段,我们可以附加到进程调试,要是站点部署到远程服务器上之后呢,我们能不能附加到进程调试?
答案是肯定的,不过需要借助Visual Studio远程调试来实现,步骤如下:
- 右键Visual Studio快捷方式 点击打开文件所在位置,进入Visual Studio安装目录
- 找到 Remote Debugger 目录,根据服务器的系统类型,选择 Remote Debugger 文件夹下的对应文件夹复制到服务器上,存放位置不限
- 在服务器上以管理员身份运行目录下的 msvsmon.exe
- 在打开的窗口中点击 工具 选择 选项 ,在弹出的对话框中设置好端口号并将 身份验证模式 改为 Windows 身份验证 点击确定
- 使用管理员身份运行 Visual Studio
- 使用 Debug 方式发布服务
- 将服务部署到服务器 IIS 并在浏览器中浏览一次
- 在代码中打好断点
- 将解决方案配置为 Debug ,选择 调试 下的 附加到进程
- 在 连接和目标 输入框中输入服务器的IP和端口号,点击 查找 ,在新弹出的窗口中,点开找到的服务器点击 选择 按钮,这时会弹出身份验证窗口,输入服务器的用户名和密码进行验证
- 勾选 显示所有用户进程 并 刷新
- 选择对应的 w3wp.exe 进程,点击 附加
注意:
同Visual Studio附加到进程调试