哪一行调用函数



我有一个用于调试的函数,它在 100 多个地方被调用。有时我不知道它是从哪里调用的,所以我必须发送它"调用 890 行"......但是如果我更改脚本,那就错了。

那么有没有办法让一个函数打印出它从哪一行被调用?

例如:

   1: function debug($obj){$obj | %{$_.PSObject.Properties...}
...
 890: debug $param

我需要"调试"来打印出哪个行/功能/块调用它,在本例中为 890 行。

谢谢:)

如果没有调试器,则可以使用调用堆栈来确定调用代码的函数:

function foo {
    'Caller {0}' -f (Get-PSCallStack)[1].Command
}
function bar {
    foo
}
foo
bar

输出

Caller <ScriptBlock>
Caller bar

最新更新