Debugging 如何获取Mathematica中模块内调用函数的名称?

Debugging 如何获取Mathematica中模块内调用函数的名称?,debugging,wolfram-mathematica,Debugging,Wolfram Mathematica,如果我编写了调用另一个模块的函数或模块,如何获取调用函数/模块的名称?这将有助于调试。将几乎完全按照您的要求执行,提供调用堆栈中的“标记”(出于您的目的,请阅读“函数”)列表。它不是防弹的,因为存在其他功能,如StackBegin和StackInhibit,但这些功能一开始就非常奇特 在大多数情况下,Stack将返回命名被评估函数的符号。为了弄清楚这些符号来自什么样的上下文,你可以使用,这是一个尽可能接近你能弄清楚它们是什么包的一部分。不过,这需要一些注意,因为符号可以动态地添加到包中(通过Ge

如果我编写了调用另一个模块的函数或模块,如何获取调用函数/模块的名称?这将有助于调试。

将几乎完全按照您的要求执行,提供调用堆栈中的“标记”(出于您的目的,请阅读“函数”)列表。它不是防弹的,因为存在其他功能,如
StackBegin
StackInhibit
,但这些功能一开始就非常奇特


在大多数情况下,
Stack
将返回命名被评估函数的符号。为了弄清楚这些符号来自什么样的上下文,你可以使用,这是一个尽可能接近你能弄清楚它们是什么包的一部分。不过,这需要一些注意,因为符号可以动态地添加到包中(通过
Get
Import
ToExpression
Symbol
),也可以在其他包中重新定义或修改(例如,使用新的评估规则)

谢谢!堆栈是我一直在寻找的。