Visual Studio 奇怪的异常

Posted

技术标签:

【中文标题】Visual Studio 奇怪的异常【英文标题】:Visual Studio Strange Exception 【发布时间】:2013-11-21 13:46:08 【问题描述】:

我将一个项目从 Visual Studio Express(带有 CMake 的 Windows SDK x64)移植到 Visual Studio 2010 Professional(为 x64 编译)。一切似乎都奏效了。我可以编译我转换的 .dll 项目。进入我的测试项目时,我面临着一种奇怪的行为。 (链接/包含库的设置方式相同)。

编辑 发布/调试也会发生同样的事情。

我收到以下错误(当我在 Visual Studio 2010 中运行代码时):

 KernelBase.dll!RaiseException()  + 0x3d bytes  
 msvcr100.dll!_CxxThrowException()  + 0x81 bytes    
 000007fe8d54a043() 
 000007fe8d548700() 
 000007fe8d547d20() 
 000007fe8d547cee() 
 000007fe8d547c79() 
 clr.dll!000007feecbc822e()     
 [Frames below may be incorrect and/or missing, no symbols loaded for clr.dll]  
 kernel32.dll!BaseThreadInitThunk()  + 0xd bytes    
 ntdll.dll!RtlUserThreadStart()  + 0x21 bytes

【问题讨论】:

那是哪个线程?你开始线程了吗?如何?您是否尝试过逐步调试?是否涉及任何 C#? (clr.dll?) 那么 clr.dll 是什么?你没有符号吗?尝试确定哪个线程崩溃。您可以在开始时将 TID 输出调试字符串。 我只是尝试获取有关您启动的线程以及崩溃所在的线程的一些信息。您是否还使用新环境完全重建了您的测试项目。 你能调试“逐步”,使用 F10-F11 键吗? 用 F9 放一个断点。等待休息。使用 F10 或 F11。如果这不起作用,你就有麻烦了 【参考方案1】:

感谢各位帮我调试问题解决了...

所以这是交易:

我正在创建多个输出窗口。他们每个人都有不同的线索。在初始化部分,我有以下代码:

  m_wndclassName = L"Output App"; // Here's the bug, the names should be different ...
  m_wndclass.style         = 0;
  m_wndclass.lpfnWndProc   = (WNDPROC)OpenGLSinkNode::wndProc;
  m_wndclass.cbClsExtra    = 0;
  m_wndclass.cbWndExtra    = 0;
  m_wndclass.hInstance     = NULL;
  m_wndclass.hIcon         = LoadIcon(NULL, m_wndclassName.c_str());
  m_wndclass.hCursor       = LoadCursor(NULL, IDC_ARROW);
  m_wndclass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
  m_wndclass.lpszMenuName  = m_wndclassName.c_str();
  m_wndclass.lpszClassName = m_wndclassName.c_str();

解决方案:

  m_wndclassName = L"Output App"; + std::to_wstring( (long double)m_id); // watch out here because std::to_wstring() has a bug ... you have to cast it to (long double), my_id of type int (Only in VS 2010, I read.)

【讨论】:

以上是关于Visual Studio 奇怪的异常的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio for Mac 上的奇怪 linq 异常

Visual Studio中的奇怪Python包导入行为

Visual Studio 2012 中的奇怪错误

奇怪的 Visual Studio 行为:执行时间很长

C++ 奇怪行为 Visual Studio

visual studio 2012 启动出现如下错误,怎么处理