![]() |
1
2
日志记录是你的朋友。添加大量日志记录(使用内置跟踪日志记录或使用一些框架,如 log4net )。使用不同的日志级别来控制您退出的日志量。在详细级别,您可以记录输入和退出重要方法时的日志,记录输入参数和返回值。登录catch块等。然后在报告下一个错误后分析日志文件。 |
![]() |
2
2
|
![]() |
3
0
一些想法: 检查服务器事件日志,查看是否有任何可以拉出的崩溃小转储。这些可以告诉你很多关于程序崩溃时发生的事情(调用堆栈等)。 或者编写一个包装程序,它可以运行您的程序并在程序失败时进行检测,然后获取服务器当前状态的快照,以便(希望)使用必要的数据重新执行任务,以在调试器中获得可重复的崩溃。 或者只是添加大量的日志。您可以使用postsharp添加跟踪,跟踪告诉您输入和退出的每个方法,这样您就可以轻松地确定失败时运行的是哪个方法。 你可以添加机器人代码。仔细检查是否有空值等,您可能会发现您已经纠正了问题,而不必知道是哪一个修复了它。 如果程序不是太大,只是老式的和桌面检查(读取打印出来的内容),代码很可能会出现一些错误。 另一种方法(更具实验性)可能是修改程序,使其连续运行,这样您就可以将其放入调试器中,直到遇到异常为止。(运行一个循环,等待一个触发器文件被刷新或其他东西,然后启动正常的进程-大约5行代码就足够了) |
![]() |
Willy · LINQ:将分组列表转换为新列表 7 年前 |
![]() |
Kapil · 如何使用参数设置脚本任务SSI的路径 7 年前 |
![]() |
c00000fd · 跨命名空间和不同的.H文件的友元类 7 年前 |
![]() |
tangoal · 调用模板类成员时非法使用此类型作为表达式 7 年前 |