惯了Vsiual Studio的兄弟们可能会因为先入为主的原因以为所有的调试器都应该像它那样,其实不然, 当你安装 Debugging Tools for Windows的时候,你将发现有两个系列的工具,一系列32位的工具和一系列64位的工具。这让人觉得和费解,因为在我们安装 Microsoft Visual Studio的时候你根本不需要考虑 32位还是64位。

如果你正使用windbg调试工具集(WinDbg, KD, CDB, or NTSD)中的一个,你必须得自己做出选择。为了选择合适的调试工具,你需要知道以下两点:

1. 你的调试主机的处理器类型。

2. 你的调试主机运行的是32位版本的windows还是64位版本的。

PS:运行调试器的计算机我们成为调试主机,被调试的计算机我们称为目标机。

调试主机运行32位版本的windows

如果你的调试主机运行的是32位版本的windows,使用32位的调试工具(不管此时被调试的目标机是 x86-based 还是 x64-based)。

x64-based调试主机运行64位的windows

如果你的调试主机使用x64-based的处理器,并且运行64位的windows,请参考如下规则:

  • 如果你在分析dump文件,你可以使用32位或者64位的调试工具集。(不管dump文件是用户态的还是内核态的,也不管这个dump文件是在 x86-based 还是 x64-based的平台上抓的。)

  • 如果你在进行实时内核调试,你可以使用32位或者64位的调试工具集(不管此时被调试的目标机是 x86-based 还是 x64-based)

  • 如果你在进行实时用户态调试,并且调试器也在同一台机器上,对于64位的代码和32位的 WOW64代码都需要使用64位的调试工具集。使用 .effmach命令设置调试器的模式。

  • 如果你在实时调试32位的用户态代码,但是这些代码运行在一个单独的目标机器上,使用32位的调试工具集。

  • 总结

    只有在实时用户态调试,并且调试器也在同一台64位机器上的情况下必须用64位的调试工具集!

一句话总结Windbg 32位版本和64位版本的选择相关推荐

  1. 32位python和64位python区别_python32位和64位版本的区别是什么

    python32位和64位版本的区别是什么 发布时间:2020-08-05 09:38:41 来源:亿速云 阅读:83 作者:清晨 小编给大家分享一下python32位和64位版本的区别是什么,相信大 ...

  2. 32位程序在64位系统上运行

    32位程序在64位系统上运行 32位系统下的MFC文件,怎么在64位的系统上面运行? 先将32位的应用程序转换为64位的应用程序. 从32位应用程序到64位应用程序 编译:starlight 这篇文章 ...

  3. 32位程序调用64位dll_电脑系统怎样区分32位和64位

    一.32位和64位系统的区别: 32位系统和64位系统的区别有以下四点: 第一,CPU要求不同 第二,运算速度不同 第三,寻址能力不同 第四,软件兼容性不同 二.怎么看自己电脑系统是36位还是64位? ...

  4. 转载】将32位代码向64位平台移植的注意事项

    转载]将32位代码向64位平台移植的注意事项 新近的64位平台在二进制上与32位应用程序兼容,这意味着可以非常简单地移植现有的程序.许多目前在32位平台上运行良好的程序也许不必移植,除非程序有以下要求 ...

  5. 使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表

    原文:使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表 我们知道目标平台是32位的程序运行在64位的系统上,去访问部分注册表的时候系统自动重定向到win32node节点对应的 ...

  6. iOS上应用如何兼容32位系统和64位系统

    在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针 ...

  7. 计算机怎么升级64位操作系统,如何将计算机的32位更改为64位

    64位技术相对于32位,此位是指CPUGPR(通用寄存器,通用寄存器)的数据宽度为64位,64位指令集是运行64位的指令数据,这也意味着处理器可以一次运行64位数据. 64位处理器不仅现在可用. 在高 ...

  8. 实战iOS应用从32位升级到64位

    苹果官方会在2015年2月1日不允许不支持arm64的应用的提交,这对我们这种开发移动应用产品的人来说是一把达摩克利斯之剑.我前面写过一篇文章<iOS上应用如何兼容32位系统和64位系统> ...

  9. 32位linux升级64位系统下载地址,使用i386-32位Linux不能升级到amd64位,只能全新安装Linux-amd64版...

    目前很多Linux发行版都不再提供i386-32位 ISO,用户只能使用老的版本,比如Deepin新版本只提供amd64位 ISO(参考:deepin 15.3 32位ISO下载地址,深度系统最后支持 ...

  10. 让32位Eclipse和64位Eclipse同时在64的Windows7上运行

    转自让32位Eclipse和64位Eclipse同时在64的Windows7上运行 参考这篇文章:http://wenku.baidu.com/view/57994c270066f5335a81214 ...

最新文章

  1. Stacking+Blending
  2. ai模仿声音软件_如何开发人工智能类的软件?人工智能让我们的生活更加便捷!...
  3. ubuntu设置静态ip不能联网
  4. Git commit/pull/push的操作步骤
  5. oracle 包和包体禁用,Oracle包和包体以及与非包体定义函数、过程的区别
  6. 云计算能给你带来什么?
  7. 数据库连接html文件路径,Python+Flash+MySQL+HTML链接数据库查询,pythonflaskmysqlhtml,连库...
  8. 联想android刷机教程,联想YOGA Tablet 2线刷刷机教程 Android版可救砖
  9. linux 打开8000端口,Linux中如何开启8080端口供外界访问和开启允许对外访问的端口8000...
  10. ubuntu18.04下安装微信不能发图片和文件
  11. JHU计算机专业学费,约翰霍普金斯大学学费多少 贵不贵
  12. Codeforces869 E. The Untended Antiquity (随机化算法)
  13. 华为鸿蒙的三大遗憾和一个好消息
  14. 计算机组成原理-第三章-存储系统
  15. ESPG和OGC、SRS、SRID指的是什么
  16. IDEA插件系列(19):EduTools插件——学习编程语言
  17. 全国大学生网络安全精英赛初赛(nisp一级)
  18. LeetCode日常刷题1、657、717、67
  19. 递归查询树形结构数据
  20. 今天真是个好日子……

热门文章

  1. python描述符(descriptor)、属性(property)、函数(类)装饰器(decorator )原理实例详解
  2. Linux Top 命令详解,用于日常运维监控
  3. 几款最新的解谜单机小游戏
  4. SUN PORTAL 7.2安装在windows 的问题解决办法!
  5. 我要放弃RedHat Linux了
  6. 巴西队被打成了蜂窝煤
  7. ROP简单 ret2syscall
  8. pip安装包时遇到的Bug
  9. centos6.5下的elk部署
  10. java中Arrays.sort()实现原理