如何使用Powershell的IDE调试Powershell中的c#代码
本文关键字:Powershell 中的 调试 代码 IDE 何使用 | 更新日期: 2023-09-27 18:17:51
如何在powershell中逐行调试源代码?
我在powershell中使用c#代码,像下面的例子:
$Assem = (
“Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” ,
“Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c”
)
$Source = @”
using Microsoft.SharePoint.Publishing.Administration;
using System;
namespace StefanG.Tools
{
public static class CDRemoteTimeout
{
public static void Get()
{
ContentDeploymentConfiguration cdconfig = ContentDeploymentConfiguration.GetInstance();
Console.WriteLine(“Remote Timeout: “+cdconfig.RemoteTimeout);
}
public static void Set(int seconds)
{
ContentDeploymentConfiguration cdconfig = ContentDeploymentConfiguration.GetInstance();
cdconfig.RemoteTimeout = seconds;
cdconfig.Update();
}
}
}
“@
Add-Type -ReferencedAssemblies $Assem -TypeDefinition $Source -Language CSharp
[StefanG.Tools.CDRemoteTimeout]::Get()
[StefanG.Tools.CDRemoteTimeout]::Set(600)
,当我开始调试powershell时,我看不到源代码中发生的任何事情。我使用powershell_ise。如果有人可以给我好的powershell IDE调试它很容易。谢谢你的帮助。
$source
是一个字符串,因为调试器只在import source的第一行调试add-type。
- 在你想调试的方法中设置一个断点
- 构建项目。
- 打开一个新的PowerShell窗口。
- 在Visual Studio中,从Debug菜单中选择"Attach to Process"。
- 选择PowerShell.exe进程,单击"附加"。调试器现在已经启动,作为附加到您打开的PowerShell窗口。
- 在PowerShell窗口中,导入你的模块并运行你的PowerShell Cmdlet。当你的代码遇到断点时,它会让你在Visual Studio调试器中逐步通过它,就像任何其他Visual Studio解决方案一样。
引用http://www.johnchapman.net/technology/coding/powershell-debug-custom-csharp-powershell-cmdlet/
(OR)
您可以简单地安装powershell编辑器在powershell窗口进行调试http://dalexandrov.github.io/PowershellEditor/