【发布时间】:2010-12-05 19:44:55
【问题描述】:
我有一个在生产服务器上运行的 .NET 4.0 控制台应用程序。该应用程序在 ad-hoc 基础上运行,编译为调试版本,所有调试符号都与 exe 一起发送到服务器。
当应用程序中引发异常时,我希望它会像任何旧的控制台应用程序一样将堆栈打印到控制台。相反,我看到的行为是这样的:
- 出现 JIT 调试器窗口,要求进行调试。
- 如果我说“是”,它会启动一些极其有限的 VS 2005 版本。我被转储到汇编语言中,看不到源代码或文件名。堆栈跟踪的所有级别都是这种情况。
- 如果我说“不”,则根本不会向控制台写入任何信息。
我已经尝试在 powershell shell 和传统的 cmd 控制台中运行它,效果相同。
服务器运行 ASP.NET 4.0,并且可以轻松地将这些错误返回给浏览器。
我想要的是简单地查看真正的错误并将堆栈打印到控制台,而不会弹出 JIT。除了全局捕获和写入之外,我还有哪些选择?
【问题讨论】:
-
您是否在具有管理员权限的帐户下运行?
-
请参阅我对stackoverflow.com/questions/4346970/… 的回答,了解如何生成故障转储,可以在调试器中检查。
-
是的,帐户是管理员。