调试器未附加到进程

本文关键字:进程 调试器 | 更新日期: 2023-09-27 18:22:00

我有一个MMC管理单元正在尝试调试。目前,以下代码放在管理单元的构造函数中,用于将调试器附加到它:

public MySnapIn()
{
#if DEBUG
    if (!Debugger.IsAttached)
    {
        Debugger.Launch();
    }
#endif
    ...
}

但是,总是要将调试器附加到VisualStudio上,这真的很烦人。我想把这个过程自动化。理想情况下,我只需要点击F5,它就会自动附加调试器。我尝试过以下几种:

  • 项目属性->启动外部程序->键入"C:''Windows''System32''mmc.exe"
  • 项目属性->命令行参数->给它一个.msc文件的路径(存储管理单元布局,这样每次加载都更容易,这样你就不必总是文件->添加/删除管理单元)

这没用。调试器不会自动附加。我如何自动执行这个过程,或者是什么阻止调试器自动附加?

调试器未附加到进程

刚刚得到它。事实证明,你必须在64位系统(我所在的系统)上使用32位MMC启动器,然后在"命令行参数"中添加-32标志,迫使它保持在32位模式:

  • 确保我的管理单元项目针对Configuration Manager中的任意CPU
  • 项目属性->启动外部程序->键入"C:''Windows''SysWOW64''mmc.exe"
  • 项目属性->命令行参数->为其提供一个.msc文件的路径,以及-32标志(存储管理单元布局,这样每次加载都更容易,这样您就不必总是文件->添加/删除管理单元)