代码之家  ›  专栏  ›  技术社区  ›  user240141

应用程序全局错误记录器

  •  0
  • user240141  · 技术社区  · 14 年前

    我知道这听起来有点疯狂,但Windows事件记录器也这么做。所以我也这么想。让我说清楚一点。假设我有一份申请abc.exe文件一次也没有。我在使用那个应用程序时遇到了很多错误。现在,我想编写另一个应用程序,运行并记录该应用程序的所有未处理异常,包括托管和com,而不是深入研究应用程序源代码。

    所以请大师来帮我。我知道应用领域很有用。我在MSDN博客上遇到一个叫Rick或类似的人,但我再也没有抓到他了。因此,一些简单的源代码或部分代码将是有帮助的。请在答案中添加一些示例代码。

    这将是一个很大的帮助。

    摘要

    2 回复  |  直到 11 年前
        1
  •  0
  •   Steven    14 年前

    此MSDN页面如何: Log Exceptions in Visual Basic 完全符合你的需求。总之,它描述了:

    • My.Application.Log 使用.NET的内置跟踪侦听器记录异常。
    • 如何注册 UnhandledException VB应用程序中的窗体应用程序事件。
    • FileLogTraceListener 登录到文件“[用户]\Application Data\[CompanyName]\[ProductName]\[ProductVersion][ApplicationName].log”。

    FileLogTraceListener文件 :

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <system.diagnostics>
            <sources>
                <source name="DefaultSource" switchName="DefaultSwitch">
                    <listeners>
                        <add name="FileLog"/>
                    </listeners>
                </source>
            </sources>
            <switches>
                <add name="DefaultSwitch" value="Information" />
            </switches>
            <sharedListeners>
                <add name="FileLog"
                    type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" 
                    initializeData="FileLogWriter" />
            </sharedListeners>
        </system.diagnostics>
    </configuration>
    
        2
  •  1
  •   Hans Olsson    14 年前

    如果我理解正确的话,您确实拥有错误处理不好的应用程序源代码,您可以修改它并重新编译它。

    如果是这样,你可能想看看 AppDomain.UnhandledException 事件。引用MSDN:

    如果你去链接那里有一个你需要添加的代码样本,它只是几行代码,可以在你的应用程序中的一个文件,所以应该很容易添加。