gpt4 book ai didi

c++ - 应用程序未在调试器中启动

转载 作者:可可西里 更新时间:2023-11-01 17:58:03 26 4
gpt4 key购买 nike

我正在使用的应用程序无法在 Visual Studio 2005 的调试器中启动。

这是我的做法:

  • 我重建应用程序并按 F5 启动它
  • VS2005 窗口的标题为“projectname (Running) ...”
  • 调试器按钮出现但变灰
  • 应用程序出现在 Windows 任务管理器中,但它的内存使用量只有 80k
  • 很长一段时间没有任何反应,最后我得到一个带有以下错误消息的窗口:“调试正在停止但尚未完成。您可以强制立即停止调试,但任何正在分离的进程都可能而是终止。当调试完全停止时,此窗口将自动关闭"。窗口并没有消失,所以过了一会儿,我按下了“立即停止”按钮。
  • 有一段时间什么都没有发生(调试器按钮仍然可见,但变灰了)
  • 一段时间后出现一个新窗口:“无法启动程序‘(exe 路径)’。OLE har skickat en begäran och väntar på svar”。最后一句是瑞典语,意思是“OLE 已发送请求并正在等待响应”。我按下 OK,调试器按钮消失了。
  • 应用程序仍在运行,并且仍然只有 80k 的内存使用量。
  • 我尝试用任务管理器结束进程,但它没有被杀死。
  • 我退出 Visual Studio,最后进程消失了。

该应用程序是一个非托管 C++ 项目,它使用大量 DLL 文件作为插件。我正在使用“多线程调试”运行时,并且我确保所有依赖项都针对相同的运行时进行编译。

就在做的时候突然出现了这个问题。我试图撤销我的更改,但没有帮助。重新启动计算机也无济于事。

我的应用程序随机运行了一两次。如果我然后结束应用程序并再次启动它,它就没有启动。所以我不认为这是因为我的配置。

有什么想法吗?

请注意:如果我从 Visual Studio 外部启动应用程序,它会正常启动和运行。

最佳答案

听起来像是您程序使用的隐式链接 DLL 之一中的 DllMain() 行为异常。您可能会从“输出”窗口中得到提示,它会在加载 DLL 时列出它们的名称。如果它是 wininet.dll,那么您就陷入了符号服务器的死锁陷阱。

关于c++ - 应用程序未在调试器中启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2123146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com