VS2008 JIT调试调用堆栈仅显示系统调用

时间:2013-05-16 06:58:01

标签: visual-studio-2008 visual-c++

我正在通过VS2008的JIT调试器查看未处理的异常。任何人都可以给我一些指针发生了什么?调用堆栈没有指向代码中的任何位置。并且非常确定代码会尝试捕获所有异常。

msvcr90.dll!_crt_debugger_hook(int _Reserved=0) Line 65
msvcr90.dll!_invoke_watson(const wchar_t* pszExpression=0x00000000, const wchar_t* pszFunction=0x00000000 .... 
msvcr90.dll!fgets(char* string=0x30ebf7c4, int count=15, _iobuf* str=0x00000000) Line 55 + 0x20 bytes
MyProgram.exe!00443faf()
[Frames below may be incorrect and/or missing, no symbols loaded for MyProgram.exe]
MyProgram.exe!0046b639()
ws2_32.dll!71c044c0()
ws2_32.dll!71c023ec()
ws2_32.dll!71c0357b()
msvcr90.dll!malloc(unsigned int size=0) Line 163 + 0x5f bytes
ffffffff()

1 个答案:

答案 0 :(得分:0)

没有源代码,但是......

以下条目表明已将FILE*传递给fgets()

fgets(char* string=0x30ebf7c4, int count=15, _iobuf* str=0x00000000)

我可以在你的调用堆栈中看到ws2_32.dll,所以我假设你正在某个地方使用套接字。

猜测我会建议远程套接字端点关闭,你试图从中读取它。

如果这是发布版本,您可以更改项目设置,以便生成.PDB,然后您可以使用该{{1}}从转储中获取更合理的信息。

如果您可以发布更多代码或对上述内容发表评论,可能会有所帮助。