如何调试静态依赖项加载问题?

Gre*_*egC 2 c++ windbg static-linking visual-c++

如何调试Visual C ++ 2010 SP1应用程序无法完全加载其依赖项,并且过早退出而又不显示其UI的情况?

如果您认为与Fusion Logs,依赖项遍历和远程调试器相关,那么我会对它们的良好指南感兴趣。是否可以通过WinDbg轻松验证?流程浏览器呢?

是否可以在连接了远程调试器的远程计算机上启动进程?

是否可以验证是否安装了正确的Visual C ++ 2010 SP1运行时?

一个限制:安装了Visual Studio的应用程序在开发人员的盒子上运行良好。问题只能在干净的目标计算机上观察到。这意味着安装工具链时问题可能会消失。

Pet*_*ter 5

我总是检查DependencyWalker的 dll依赖性问题,然后使用“全局标志编辑器” gFlags.exe在“图像文件”选项卡中,设置程序并选中“ 显示加载器快照 ”。

当您的程序运行时,WinDbg.exe应该在DependencyWalker和源代码(如果使用LoadLibrary)的帮助下,从中输出许多DLL加载消息,您应该能够找出问题出在哪里。

  • 对“显示加载程序快照”的另一票。关于 DLL 加载解析,您将学到比以往任何时候都想知道的更多。SxsTrace 还将在没有调试器的情况下显示并行 DLL 加载的详细信息,并会快速显示 C 运行时是否丢失。 (2认同)