请原谅我的无知,但我不熟悉 Visual Studio 或 Windows DLL 和服务。通常我在嵌入式环境中工作,但不知何故(我猜只是幸运)我被选中解决我们的一个 Windows 服务中发生的崩溃,实际上是在 MSVCR80.DLL 中,但我必须假定这是由我们的服务引起的(Windows下面的事件日志)
Faulting application name: MySrvc.exe, version: 0.0.0.0, time stamp: 0x4fee02e5
Faulting module name: MSVCR80.dll, version: 8.0.50727.4940, time stamp: 0x4ca2b271
Exception code: 0xc000000d
Fault offset: 0x00008aa0
我遇到的问题是,当我附加到进程然后让它崩溃时,调试器会中断,然后调用堆栈只有 mscvr80.dll 和 ntdll.dll 中的一些调用,仅此而已,没有来自我们服务的调用进入那些图书馆。我的猜测是该库是多线程的,而我看到的堆栈只是其中一个线程。但是当VS调试器中断时,它不会暂停所有线程吗?有没有办法检查其他线程的调用堆栈?还是我完全不在这儿?
再次,请原谅我在这方面的无知。您可以提供的任何建议或方向将不胜感激。提前致谢!
-H