繁体   English   中英

监控一个DLL

[英]monitoring a dll

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

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM