代码之家  ›  专栏  ›  技术社区  ›  Adam Driscoll

无法通过Visual Studio调试PowerShell

  •  4
  • Adam Driscoll  · 技术社区  · 14 年前

    我正在开发一个二进制PowerShell模块。我已经设置了模块项目的“调试”选项卡,以启动PowerShell控制台并导入我的模块。如果我按F5,它会按预期那样做。

    我遇到的问题是,Visual Studio并没有真正“附加”到流程中。“模块”窗口为空,未命中任何断点。

    如果我手动启动PowerShell并附加到进程… 繁荣! 我可以调试。

    f5ing比build+launch+attach一次又一次要好:|

    有什么想法吗?

    编辑:

    我发现,如果启用非托管代码调试,将看到加载的模块。这很有意义,因为PowerShell.exe未被管理。现在的问题是,在模块窗口中,我的所有程序集符号状态都是“符号文件中没有本机符号”。进程“powershell.exe”是“本机”而不是“托管(v2.0.50727)”。看起来VS决定本机调试,而不是在托管模式下。有什么办法可以改变这个吗?

    1 回复  |  直到 12 年前
        1
  •  6
  •   Roman Kuzmin    14 年前

    <?xml version="1.0"?>
    <configuration>
        <startup useLegacyV2RuntimeActivationPolicy="true">
            <supportedRuntime version="v4.0.30319"/>
            <supportedRuntime version="v2.0.50727"/>
        </startup>
    </configuration>
    

    <supportedRuntime version="v4.0.30319"/>

    your_app.exe.config

    <startup useLegacyV2RuntimeActivationPolicy="true">