繁体   English   中英

如何在 Visual Studio 中调试 Windows PowerShell 模块?

[英]How do I debug a Windows PowerShell module in Visual Studio?

我正在尝试使用 Visual Studio 2015 将 PowerShell 模块编写为 VB.NET 项目。我已经能够将一些命令放在一起,将类库编译为 DLL,将模块导入到 PowerShell 会话中并调用我创建的命令。 到目前为止一切都很好。 但是当我扩展这个模块时,我需要能够调试它。

所以我在解决方案中添加了另一个项目,一个控制台应用程序。 我将其设置为启动项目,并在第一个项目中引用了 PowerShell 类。 到目前为止,当我调用 PowerShell 函数时,我编写的所有工作都在EndProcessing()子例程中完成。 我无法从我的控制台应用程序调用它,因为它受到保护。

问题:如何从控制台应用程序正确调用我的Get-TestCommand PowerShell 函数,让 Visual Studio 知道我在单独的项目中引用代码而不是编译的 DLL,同时触发我放入 Powershell 类中的断点图书馆?

可以直接调试您的 cmdlet,而无需单独的项目。 打开类库项目的属性并按如下方式配置Debug选项卡(假设 Windows 安装到C: ):

  • 开始行动
    • 启动外部程序: C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe
  • 启动选项
    • 命令行参数: -NoLogo -Command "Import-Module '.\\MyModule.dll'; Get-TestCommand;"

PowerShell 调试的类库项目配置

调试 PowerShell cmdlet

编辑:试试这个链接或这个一步一步

下载适用于 Visual Studio 2015 的 PowerShell 工具或使用Windows PowerShell ISE

如何在 Windows PowerShell ISE 中调试脚本

更新时间:2013 年 10 月 17 日 适用于:Windows PowerShell 2.0、Windows PowerShell 3.0、Windows PowerShell 4.0、Windows PowerShell 5.0 本主题介绍如何使用 Windows PowerShell® 集成脚本环境 (ISE) 可视化调试功能在本地计算机上调试脚本. 如何管理断点 如何管理调试会话 如何在调试时单步执行、单步执行和单步执行 如何在调试时显示变量的值
如何管理断点 断点是脚本中您希望操作暂停的指定位置,以便您可以检查变量的当前状态和脚本运行的环境。 一旦脚本被断点暂停,您就可以在控制台窗格中运行命令来检查脚本的状态。 您可以输出变量或运行其他命令。 您甚至可以修改对当前运行脚本的上下文可见的任何变量的值。 检查完想要查看的内容后,您可以恢复脚本的操作。 您可以在 Windows PowerShell 调试环境中设置三种类型的断点: 行断点。 脚本运行过程中到达指定行时脚本暂停...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM