当前位置: 首页 > 科技观察

Windbg32位版本和64位版本的选择

时间:2023-03-14 15:50:38 科技观察

用惯了VsiualStudio的兄弟可能因为先入为主的原因认为所有的调试器都应该是这样的,其实不然。当你安装Windows调试工具时,你会发现有两套工具,一套32位工具和一套64位工具。这就很迷惑了,因为在我们安装MicrosoftVisualStudio的时候不需要考虑是32位还是64位。如果您使用的是windbg调试工具集(WinDbg、KD、CDB或NTSD)之一,则必须做出自己的选择。为了选择合适的调试工具,您需要了解以下两点:1.您的调试主机的处理器类型。2.您的调试主机运行的是32位版本的Windows还是64位版本。PS:运行调试器的计算机称为调试主机,被调试计算机称为目标计算机。运行32位版本windows的调试主机如果您的调试主机运行32位版本的windows,请使用32位调试工具(无论被调试的目标机器是基于x86还是基于x64)。基于x64的调试主机运行64位Windows如果您的调试主机使用基于x64的处理器并运行64位Windows,请参考以下规则:如果您正在分析转储文件,则可以使用32位或64位位调试工具集。(转储文件是在用户模式还是内核模式下无关紧要,转储文件是在基于x86还是基于x64的平台上捕获的也无关紧要。)如果你在做实时内核调试,你可以使用32位或64位的调试工具集(不管被调试的目标机器是基于x86还是基于x64)如果你是做实时用户态调试,调试器也是在同一台机器上,对于64位代码和32位所有WOW64代码都需要64位调试工具集。使用.effmach命令设置调试器的模式。如果您正在实时调试32位用户态代码,但代码在单独的目标机器上运行,请使用32位调试工具集。总结只有在实时用户态调试的情况下,并且调试器也在同一台64位机器上,必须使用64位调试工具集!原文链接:http://www.cnblogs.com/pugang/archive/2012/11/16/2772651.html【编者推荐】VisualStudio2012的C++原生单元测试VisualStudio2012UltimateRC安装笔记VS2012单元测试与TestExplorer微软正式发布VisualStudio2012和VisualStudio11下的C++异步编程1