监控一个DLL

时间:2013-02-21 12:48:14

标签: c# dll monitoring

我正在使用两个使用相同dll文件的程序。 第一个程序的代码丢失了,第二个程序就是我写的。 有问题的dll用作某种包装器dll

这两个项目大部分时间都很好。 然而,有时会发生冲突,因此程序会停止。 通过反复试验,我现在确信它与调用这个dll的那两个程序有关(只是为了记录,还有第三个使用dll的程序,但是我们禁用了该程序)。它必须与两个程序如何使用dll有关。

所以我想知道,是否有一些工具可以让我监控一个DLL 并告诉我它是如何调用的;
叫什么功能; 显示参数; 如果它不是返回类型和结果的空白。

通常我会通过视觉工作室跟踪逐步完成代码。 但是因为第一个程序(包括那个dll)的代码丢失了。我无法追踪它,我想调试发生的事情,然后如果我知道错误情况,那么在我的新程序中构建一些东西,以防止再次发生这种情况。

2 个答案:

答案 0 :(得分:1)

如果此DLL是.NET,那么您可以使用.NET Reflector或dotPeek(www.jetbrains.com)对其进行反编译。然后,您可以添加跟踪代码并再次编译。您还可以使用PostSharp(http://www.sharpcrafters.com)添加跟踪代码。

如果它不是.NET dll,那么你仍然可以使用任何其他汇编程序调试器调试它,即http://www.ollydbg.de

答案 1 :(得分:1)

如果您的BIN目录中有源代码和.pdb文件,那么您可以通过该代码进行调试。但是,您需要在Visual Studio中启用外部代码调试。

然后,您可以在菜单Debug - >中检查dll。 Windows - >模块。

导航到dll,看看符号文件是否有任何问题。