【发布时间】:2019-08-28 15:34:55
【问题描述】:
我的 winform 应用程序包含由设备制造商制造的第 3 方 dll(在 .NET 4.5 下),我可以在其中使用其类的公开功能与设备通信。但是由于它们糟糕的设计,一旦任何功能可能失败,就无法从类本身检索到错误详细信息,但是该类以某种方式将一些信息放入控制台窗口(出现在“调试”过滤器下的“输出”选项卡中)以防出现任何错误。
现在的问题是,应用程序只能在被授权通信的计算机上执行,否则课程将无法启动。因此,当我在受信任的计算机上测试我的应用程序时,我只能知道某些函数返回 false,但没有可用的调试信息。我尝试将TraceListener 添加到Trace.Listeners,但this answer 没有显示任何内容,我也尝试了Debug.Listeners,即使我每次手动刷新也没有结果。
System.Diagnostics.Trace.Listeners.Add(new System.Diagnostics.TextWriterTraceListener("debug.txt"));
System.Diagnostics.Trace.AutoFlush = true;
DebugView 也不会生成任何东西,我不知道是因为我不知道如何正确使用这个工具。我刚刚打开它,没有显示我对我的应用程序所做的任何事情。
我非常怀疑这个 DLL 可能只是使用一些 try...catch sn-p 来捕获它自己的异常并输出这些信息,而不是使用 Debug.Write()。我还能做什么?我根本无法在受信任的机器上安装另一个 Visual Studio 并在那里调试我的应用程序。
【问题讨论】: