我可以在 PowerShell 中获取详细的异常堆栈跟踪吗?

2024-01-11

运行这样的脚本:

 1: function foo()
 2: {
 3:    bar
 4: }
 5: 
 6: function bar()
 7: {
 8:     throw "test"
 9: }
10: 
11: foo

I see

test
At C:\test.ps1:8 char:10

我可以获得详细的堆栈跟踪吗?

At bar() in C:\test.ps1:8
At foo() in C:\test.ps1:3 
At C:\test.ps1:11

有一个PowerShell 团队博客上的功能 https://devblogs.microsoft.com/powershell/resolve-error/称为 Resolve-Error ,它将为您提供各种详细信息

请注意,$error 是您在 PSSession 中遇到的所有错误的数组。此功能将为您提供有关上次遇到的错误的详细信息。

function Resolve-Error ($ErrorRecord=$Error[0])
{
   $ErrorRecord | Format-List * -Force
   $ErrorRecord.InvocationInfo |Format-List *
   $Exception = $ErrorRecord.Exception
   for ($i = 0; $Exception; $i++, ($Exception = $Exception.InnerException))
   {   "$i" * 80
       $Exception |Format-List * -Force
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以在 PowerShell 中获取详细的异常堆栈跟踪吗? 的相关文章

  • 隐藏powershell输出

    我有以下脚本 param 参数 强制 true 字符串 dest New Item force path dest 1 itemtype directory New Item force path dest 2 itemtype direc
  • Powershell 中的反斜杠

    为什么 split 参数的字符串需要两个反斜杠 而 join 参数的字符串只需要一个反斜杠 反引号是 Powershell 中的转义字符 字符前面的反斜杠有什么作用 path C folder test unit1 testing resu
  • 无法在 cmd 中通过管道传递 cmdlet 对象

    我正在使用这个 powershell 命令来获取特定的用户配置文件 获取 WmiObject Class Win32 UserProfile Where Object LocalPath eq C Users Pela 但是当我通过调用 p
  • 何时选择受控异常和非受控异常

    在Java 或任何其他具有检查异常的语言 中 当创建自己的异常类时 如何决定它是否应该检查或不检查 我的直觉是 如果调用者能够以某种有效的方式恢复 则需要检查异常 而对于不可恢复的情况 则需要检查异常 但我对其他人的想法感兴趣 只要您了解何
  • 是否可以手动检查 LocateRegistry 是否存在?

    I 已经发现 https stackoverflow com a 8338852 897090一种安全的方式获得LocateRegistry 即使注册表尚不存在 Registry registry null try registry Loc
  • PowerShell 中转义反引号“`”和反斜杠“\”有什么区别?

    我知道两者都在 PowerShell 中使用 但用于不同的上下文 互联网上关于这个主题的信息很少 唯一谈论这个主题的网站 没有让我理解这个概念 是 https www rlmueller net PowerShellEscape htm h
  • boost.log std::exception 格式化程序无法在自己的命名空间中找到运算符 << 重载

    我为 boost log 创建了一个简单的格式化程序 如下所示this http www boost org doc libs 1 59 0 libs log doc html log extension settings html例如st
  • 如何在 log4j2 中格式化堆栈跟踪?

    默认情况下 log4j2 在多行上打印堆栈跟踪 用newline人物 就像是 java lang NullPointerException error enovountered at at at 我希望我的堆栈跟踪在一行上 类似于 本质上使
  • Start-Job 输出去了哪里?

    W gt job start job Write Output hi there throw an error Wait Job W gt job select State Failed HasMoreData True StatusMes
  • Powershell 命令未发现异常

    我有以下 powershell 脚本 它使用一个函数并且可以在 ISE 中正常运行 Get ComputerSessions Computer localhost Functions Function Get ComputerSession
  • 返回吃异常

    我至少发现了以下行为weird def errors try ErrorErrorError finally return 10 print errors prints 10 It should raise NameError name E
  • 更新面板异常处理

    当我在正在构建的 ASP NET Web 应用程序中实现的 UpdatePanel 中发生异常时 它们会导致页面上出现 JavaScript 错误 并在警报中提供一些高级错误输出 这对于开发来说还可以 但是一旦系统投入生产 由于多种原因 这
  • 从异常中提取类和文件名

    是否可以从异常对象中提取类名和文件名 我希望将更好的日志记录集成到我的应用程序中 并且我想包含异常发生位置的详细信息 在 MVC 中 Stacktrace 不返回文件名和类名 我有点不知道在哪里寻找它们 Thanks 您可以创建一个Stac
  • SQL Server 2008:如何使用 powershell 获取“消息”选项卡(在 Management Studio 中)输出

    我在用invoke sqlcmd管理我的数据库 它工作得很好 我将 Management Studio 中 结果 选项卡的输出保存到日志文件中 当我做一个BACKUP DATABASE 输出是在 消息 选项卡上完成的 我想将其保存在日志文件
  • 未处理的强制展开导致中止

    所以我对两者的理解pthread exit and pthread cancel是它们都会导致称为 强制展开 的类似异常的事情被抛出目标线程中的相关堆栈帧 可以捕获它以进行特定于线程的清理 但必须重新抛出 否则我们会得到隐式的abort 在
  • 替换 CSV 文件中的引号和特殊字符的一些难题

    我在处理一些需要清理并加载到数据库中的 CSV 文件时遇到了一些难题 我相当擅长使用 PowerShell 但不擅长正则表达式和 csv 列操作 这是我遇到的问题 我正在使用的 CSV 文件中有一个 注释 字段 可以包含各种不同的字符 主要
  • 具有相关动态参数的 PowerShell 函数

    我试图定义一个函数 其中动态参数相互依赖 例如 我可能有 1 个参数和两个动态参数 rootPath 驱动器盘符 rootPathItem 第一个文件夹 在驱动器盘符内 rootPathChildItem 第二个文件夹 第一个之内 问题是
  • 如何使用 PowerShell 2 的导出 csv 附加文件?

    filesremoved export csv Path E Code powershell logs filesremoved txt NoTypeInformation 我也尝试过 filesremoved export csv Pat
  • 抑制数组列表添加方法管道输出

    我正在使用数组列表来构建日志项序列以供稍后记录 工作起来很不错 但是 Add 方法将当前索引发送到管道 我可以通过将其发送到 null 来解决这个问题 如下所示 strings Add junk gt null 但我想知道是否有某种机制可以
  • Get-AzureStorageBlob 抛出找不到您的 azure 存储凭据

    我刚刚开始使用 Azure 在使用 PowerShell cmdlet 处理我的存储帐户时遇到问题 我已经创建了一个存储帐户并在该存储帐户中创建了一个容器 接下来 我安装了 Azure Powershell SDK 和命令让等 并导入了pu

随机推荐