如何使用Visual Studio Code调试C#编写的PowerShell二进制模块?
用VS Code调试C#编写的PowerShell模块
完全可以用VS Code调试你用C#编写的PowerShell模块,核心操作逻辑和Visual Studio一致,具体流程如下:
准备环境
- 安装VS Code的PowerShell扩展和C#扩展,这两个是实现跨语言调试的基础。
- 确保你的C#模块项目编译为Debug版本,编译后生成的
.pdb符号文件必须和.dll放在同一目录,没有符号文件无法触发断点和单步调试。
配置调试启动项
- 在VS Code中打开你的C#模块项目根目录。
- 新建或修改
.vscode/launch.json文件,添加PowerShell调试配置,示例如下:
{ "version": "0.2.0", "configurations": [ { "name": "调试C# PowerShell模块", "type": "PowerShell", "request": "launch", "script": "${workspaceFolder}/LoadModule.ps1", "cwd": "${workspaceFolder}" } ] }
其中LoadModule.ps1是自定义的加载脚本,内容需包含导入调试版本模块的命令,比如:
# 替换为你的模块DLL实际路径 Import-Module .\bin\Debug\netstandard2.0\YourCustomModule.dll
设置断点与调试
- 直接在C#代码文件的行号左侧点击添加断点,操作和Visual Studio一致。
- 打开VS Code左侧的调试面板,选择刚才创建的配置,点击启动按钮。
- 在弹出的PowerShell终端中执行调用模块cmdlet的命令,代码会在断点处暂停,此时可使用调试工具栏进行单步执行、查看变量、监视表达式等操作,功能和Visual Studio基本一致。
注意事项
- 务必确认PowerShell会话加载的是Debug版本的模块,如果之前加载过Release版本,需先执行
Remove-Module YourCustomModule卸载后重新导入。 - 如果断点显示为灰色(未激活),检查
.pdb文件是否和.dll在同一目录、C#扩展是否正常启用,以及模块是否正确加载。
内容的提问来源于stack exchange,提问作者rubgra
相关产品推荐
相关产品推荐

