gpt4 book ai didi

visual-studio - 如何停止 Visual Studio 调试器在作业对象中启动我的进程?

转载 作者:行者123 更新时间:2023-12-03 14:44:22 28 4
gpt4 key购买 nike

当我从 Visual Studio 启动我的流程时,它总是在作业对象中创建。我想知道如何关闭这种行为。有任何想法吗?

我希望它是在要调试的作业对象中创建的。我想将我的程序放在不同的作业对象中。

这不是托管过程。我说的是 Job Object .这是一个非托管的 C++ 应用程序。

最佳答案

发生这种情况时 devenv.exeVSLauncher.exe以兼容模式运行。 Program Compatibility Assistant (PCA) 将作业对象附加到 Visual Studio 进程,每个子进程都继承它。检查作业名称(由 Process Explorer 报告)是否以 开头PCA .如果是这样,可以按照链接中的说明禁用 PCA。

您可以使用 Run 全局禁用 PCA -> gpedit.msc -> Administrative Templates\Windows Components\Application Compatibility -> Turn off Program Compatibility Assistant -> Enable .

您可以通过添加注册表项来禁用特定可执行文件的 PCA。对于 Windows 7,适当的注册表项是 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant .在 regedit 中,右键单击该键,选择 New -> Multi-String Value , 命名 ExecutablesToExclude .将值设置为 denenv.exe 的完整路径和 VSLauncher.exe , 在单独的行上并且没有引号。对我来说,这些是:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
C:\Program Files (x86)\Common Files\microsoft shared\MSEnv\VSLauncher.exe

在 Windows 7 上,一个相关的问题是,您在 Visual Studio 中构建并从资源管理器(而不是 Visual Studio 或命令行)运行的可执行文件可能会在兼容模式下运行,并再次将作业对象包裹在它们周围。为了防止这种情况,您的可执行文件需要一个 list ,使用新的 Application Manifest Compability section 声明与 Windows 7 的兼容性。 .该链接提供了 Windows 7 兼容 list 的示例。 Visual Studio 2010 提供的默认 list 不包括此兼容性部分。

关于visual-studio - 如何停止 Visual Studio 调试器在作业对象中启动我的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/89791/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com