2
|
Oscar Mederos soandos · 技术社区 · 15 年前 |
![]() |
1
2
为什么不登录Windows事件查看器,这就是它的用途。从一个简单的配置设置中,您可以将其切换为包括所有级别,例如,4-详细,3-信息,2-警告,1-错误,您只需将消息记录为这4种类型之一。您也可以将它与用于调试跟踪的布尔跟踪开关结合起来,但这不是必需的。 Windows事件查看器还为您提供摘要,可以远程连接,并且系统管理员可以轻松地使用它。
使用System.Diagnostics; 类mysample{
} 听起来您需要的是放置一个断点并单步执行代码,如果它是线程的,只需在单步执行代码的同时在Visual Studio中打开线程窗口。如果对多个线程来说很难调试,请暂时延长计时器的延迟时间。 |
![]() |
3
2
有来自 C#: Try-catch every line of code without individual try-catch blocks 我创建了这样的类:
要应用日志,可以添加
和
到每一行,例如
生成的日志文件如下所示:
要禁用日志,只需批量删除周围的两个标记。 |
![]() |
4
1
对于您的需求(“记录我的C应用程序中发生的几乎所有事情”),您最接近的方法是使用支持AOP和自动异常处理的日志框架。面向方面的编程将允许您检测方法和跟踪方法的执行。与测井工具一起使用,如 SmartInspect (免责声明:我是SmartInspect背后的开发人员之一)您可以监视和分析方法的执行,并在上下文中查看异常(请参见下面的屏幕截图)。 要记录您的应用程序数据和事件,您必须手动插入代码,这真的是没有办法解决的。如果您有一个大型应用程序,那么一次手动检测所有代码将无法工作(这太耗时了),因此我通常建议首先从最关键的例程和模块开始。 alt text http://www.gurock.com/images/feature/smartinspect-screenshot.png |
![]() |
5
0
你试过ETW吗?ETW是Windows中速度最快、开销最小的日志记录系统。ETW内置于内核中。微软将ETW用于他们构建的每一个应用程序,从Windows到vs.net。 这不是自动记录工具。但是,它将为您提供应用程序中每个调用的堆栈跟踪,而不必修改代码。如果您需要添加自定义日志消息,那么您将为此编写代码。 以下是一些链接 ETW 我也有一些帖子 ETW in managed code |
![]() |
7
-2
尝试在具有不同入口级别的窗口事件查看器中记录异常。检查来自msdn的样本代码 http://support.microsoft.com/kb/307024 |
![]() |
Abdullah Chaudhry · json文件上的文件旋转和删除 1 年前 |
![]() |
Max S · 如何从CMD读取日志的所有输出 7 年前 |
![]() |
Ivan Denchev · Apache-过去一小时的日志 7 年前 |
![]() |
ninja.coder · Log4j中的字符串串联性能 7 年前 |
![]() |
Rich · 如何记录日志。是否与操作员一起调试? 7 年前 |