我有一个用于调试的功能,在100个地方调用。有时候我不知道它的来源是什么,所以我必须发送它"要求890行" ...但是如果我改变我的脚本是错误的。
那么有没有办法让函数打印出来自哪个行?
例如:
1: function debug($obj){$obj | %{$_.PSObject.Properties...}
...
890: debug $param
我需要'调试'打印出哪个行/功能/块称为它,在本例中为890行。
谢谢:)
答案 0 :(得分:1)
如果没有调试器,您可以使用调用堆栈来确定哪个函数称为代码:
function foo {
'Caller {0}' -f (Get-PSCallStack)[1].Command
}
function bar {
foo
}
foo
bar
输出
Caller <ScriptBlock>
Caller bar