附加到运行进程之Windows Web服务框架中出现了无法识别的错误

附加到运行进程

 

Visual Studio 调试器可以附加到在 Visual Studio 外运行的进程。可以使用此附加功能执行以下操作:

  • 调试并非在 Visual Studio 中创建的应用程序。

  • 同时调试多个进程。 也可以通过在单个解决方案内启动多个项目来调试多个进程。

  • 调试正在远程计算机上运行的进程。

  • 调试一个 DLL,该 DLL 运行在不易从 Visual Studio 启动的独立进程上。例如,与 Internet 信息服务一起运行的服务或 ISAPI DLL。

  • 当一个进程在 Visual Studio 外运行时发生崩溃时,将自动启动调试器。这就是实时调试。

一旦附加到某个程序,就可以使用调试器执行命令、检查程序状态,等等。当然,检查程序的能力可能会受到某些限制,这取决于程序是否用调试信息生成,是否可以访问程序源代码,以及公共语言运行时 JIT 编译器是否在跟踪调试信息。

注意注意

为使调试器附加到用 C++ 编写的代码,该代码需要发出 DebuggableAttribute。

 

 

 

调试准备:Win32 项目

Win32 应用程序是用 C 或 C++ 编写的传统 Windows 程序。在 Visual Studio 中调试此类应用程序非常简单。

Win32 应用程序包括 MFC 应用程序和 ATL 项目。 Win32 应用程序使用 Windows API,也可使用 MFC 或 ATL,但不使用公共语言运行时 (CLR)。 但是,它们可以调用使用 CLR 的托管代码。

下面的过程解释如何在 Visual Studio 中调试 Win32 项目。调试 Win32 应用程序的另一种方法是在 Visual Studio 之外启动并附加到该应用程序。 

调试 C 或 C++ Win32 应用程序

  1. 在 Visual Studio 中打开项目。

  2. 在“调试”菜单上选择“启动”。

  3. 用向导创建 Windows 应用程序项目时,Visual Studio 将自动为调试和发布配置创建所需的设置。必要时,可更改这些设置。

手动设置调试配置

  1. 在“视图”菜单上,单击“属性页”。

  2. 如果“配置属性”节点尚未打开,则单击以打开该节点。

  3. 选择“常规”,并将“输出”行的值设置为“调试”。

  4. 打开“C/C++”节点,然后选择“常规”。

    在“调试”行指定要由编译器生成的调试信息的类型。可以选择的值包括“程序数据库(/Zi)”或“用于编辑并继续的程序数据库(/ZI)”。

  5. 选择“优化”,然后在“优化”行的下拉列表中选择“禁用(/0d)”。

    优化代码更难调试,因为生成的指令与源代码并不直接对应。 如果发现程序具有只出现在优化代码中的 bug,则可以打开此设置,但应记住“反汇编”窗口中显示的代码是从可能与在源窗口中见到的内容不匹配的优化源生成的。有些功能(如单步执行)显示的断点和执行点有可能不正确。

  6. 打开“链接器”节点,然后选择“调试”。在第一个“常规”行的下拉列表中,选择“是(/DEBUG)”。调试期间应始终这样设置。

实际问题:Visual Studio 解决Windows Web服务框架中出现了无法识别的错误

This is happening because Visual Studio is a 32-bit application.  Only 64-bit applications are able to debug other 64-bit applications, so Visual Studio creates a fake remote connection to a 64-bit debugger when debugging 64-bit apps.  If you select the prefer 32-bit option, then this is unnecessary.

解决方法:使用远程调试来解决调试问题

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道格拉斯范朋克

播种花生牛奶自留田

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值