Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Win7上未触发Runspace.Debugger.DebuggerStop事件_C#_.net_Debugging_Powershell_Runspace - Fatal编程技术网

C# Win7上未触发Runspace.Debugger.DebuggerStop事件

C# Win7上未触发Runspace.Debugger.DebuggerStop事件,c#,.net,debugging,powershell,runspace,C#,.net,Debugging,Powershell,Runspace,我正在使用此示例为powershell 3+创建自己的调试器。该示例在Win 8.1(含Powershell 4)上按预期工作,而在Win 7(含Powershell版本3)上不按预期工作。 命中断点时不会激发Runspace.Debugger.DebuggerStop事件处理程序,但根据MSDN文档,它应该可以在Powershell 2之后工作。 我还尝试将PS更新到第4版和第5版,结果是一样的。 有什么不对劲吗 新增信息: 复制它的步骤: 下载C#示例,在Visual Studio中打开它

我正在使用此示例为powershell 3+创建自己的调试器。该示例在Win 8.1(含Powershell 4)上按预期工作,而在Win 7(含Powershell版本3)上不按预期工作。 命中断点时不会激发Runspace.Debugger.DebuggerStop事件处理程序,但根据MSDN文档,它应该可以在Powershell 2之后工作。 我还尝试将PS更新到第4版和第5版,结果是一样的。 有什么不对劲吗

新增信息:

复制它的步骤:

  • 下载C#示例,在Visual Studio中打开它
  • 下载并安装Windows Powershell SDK
  • 构建该项目并在Win7上运行它
  • ->新的控制台应用程序出现了。此应用程序使用示例powershell代码生成.ps1文件,将断点设置为第10行,并为事件BreakpointUpdated和DebuggerStop添加事件处理程序。它运行该.ps1文件,并应通过调用DebuggerStop事件处理程序跳转到调试模式。但这并没有发生

    Win 8.1上的工作应用程序:-命中断点并调用自定义DebuggerStop事件

    7x64上的应用程序已损坏-未命中断点

    不清楚应该做什么来重现问题(甚至工作场景是什么)。重现问题的步骤:1)下载C#示例,在Visual Studio中打开它2)在Win7上运行它->显示新的控制台应用程序。此应用程序使用示例代码生成.ps1文件,将断点设置为第10行,并为事件BreakpointUpdated和DebuggerStop添加事件处理程序。它运行该.ps1文件,并应通过调用DebuggerStop事件处理程序跳转到调试模式。但这并没有发生。我将在问题中添加屏幕截图。我无法使用PS v3在Win7上构建此示例(例如,
    SetDebugMode
    未找到)。我可以用PSV4在Win8.1上构建它。也许这个示例不是为PSV3设计的。这很有趣。这对我有用。如果我更新System.Management.Automation参考,我会遇到与您相同的问题。我的Win7机器上安装了PS v5,但SetDebugMode方法仍然不可用。我是否需要更高的Powershell SDK(尚未发布)来支持此API?我觉得高PS版本就足够了,很难说。我会尝试更改原始代码,使其真正与v3兼容。我几乎可以肯定这是可行的,我以前写过至少2个PS调试器,它们在PS 2+中工作,没有任何问题。不清楚应该做什么来重现问题(甚至是重现工作场景)。重现的步骤:1)下载C#示例,在Visual Studio中打开它2)在Win7上运行它->显示新的控制台应用程序。此应用程序使用示例代码生成.ps1文件,将断点设置为第10行,并为事件BreakpointUpdated和DebuggerStop添加事件处理程序。它运行该.ps1文件,并应通过调用DebuggerStop事件处理程序跳转到调试模式。但这并没有发生。我将在问题中添加屏幕截图。我无法使用PS v3在Win7上构建此示例(例如,
    SetDebugMode
    未找到)。我可以用PSV4在Win8.1上构建它。也许这个示例不是为PSV3设计的。这很有趣。这对我有用。如果我更新System.Management.Automation参考,我会遇到与您相同的问题。我的Win7机器上安装了PS v5,但SetDebugMode方法仍然不可用。我是否需要更高的Powershell SDK(尚未发布)来支持此API?我觉得高PS版本就足够了,很难说。我会尝试更改原始代码,使其真正与v3兼容。我几乎可以肯定这是可行的,我在过去写过至少2个PS调试器,它们在PS 2+中工作,没有任何问题。