首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gflags在64位Windows 7中不起作用,但在32位环境中可用

gflags在64位Windows 7中不起作用,但在32位环境中可用
EN

Stack Overflow用户
提问于 2013-09-21 22:52:39
回答 2查看 6.8K关注 0票数 1

我正在尝试在64位Windows 7上调试一个32位程序。

因此,我使用gflag为该应用程序设置调试器。我填写了应用程序的路径和调试器的路径。但是当我启动应用程序时,WinDBG没有运行。

同样的配置也适用于32位Windows 7。

那么,在64位环境下调试32位应用程序是不可能的吗?

EN

回答 2

Stack Overflow用户

发布于 2013-09-23 16:02:09

对我来说,这总是有效的,即使我使用了“错误的”架构。

但是,Windbg必须位于PATH中,或者在将调试器指定为gflag时必须包含path。

票数 2
EN

Stack Overflow用户

发布于 2013-09-22 05:54:30

更新

这是一个古老的问题。用于将设置存储在以下位置之一的较早版本的gflag:

HTML\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

HTML\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

根据您为gflags.exe选择的体系结构,它将影响64位或32位进程。

显然在某种程度上(感谢@Thomas Weller指出),微软改变了gflags.exe的行为,现在(2016年11月)当前版本的gflags同时写入32位和64位注册表位置,而与架构无关。

这有点问题,因为我曾经使用将32位调试器附加到32位进程,将64位调试器附加到具有相同进程名称的64位进程。现在我不能使用gflag来做这件事。但是,解决方法是直接修改Image File Execution Options下的注册表项。

老答案

gflags.exe的处理器架构实际上很重要。如果使用64位版本的Windows调试工具并从那里启动gflags.exe,将会影响64位应用程序的行为。同样,如果您使用32位版本的Windows调试工具并启动gflags.exe,它将影响32位应用程序。

32位和64位版本可以并排安装。密切关注正在调试的应用程序的位数,并使用与调试器/工具相同的体系结构。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18934004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档