【发布时间】:2021-11-25 14:14:39
【问题描述】:
我有一个由多个嵌套函数组成的项目。
出于调试目的,我想以一种或另一种方式保存所有内部变量,以便显示数字、重播部分代码等...
我还希望在计算时间方面尽可能保持透明。
我的第一个想法是创建一个全局变量,并在每个函数的末尾以编程方式将变量内的输入和输出存储为一个结构:
globalVariable.nameOfParentfunction_NameOfFunction.nameInput1 = valueInput1;
globalVariable.nameOfParentfunction_NameOfFunction.nameInput2 = valueInput2;
...
globalVariable.nameOfParentfunction_NameOfFunction.nameOutput1 = valueOutput1;
...
是否可以使用某种反射来获取输入/输出的名称和值,而不必解析编写函数的文件?
我找到了一个不错但可能已经过时的topic about parsing
如何收集内部信号?
【问题讨论】:
-
您最好使用
assignin将变量分配给您的基础工作区,但是这种方法和全局变量方法似乎都非常混乱。如果只是为了调试,你可能会更好地在特定功能中进行调试。如果您希望调用者函数更广泛地使用它的数据,那么只需从您的函数中提供更多输出,即可能是第二个输出,它是所需值的结构。 -
这实际上是使用的过程,一个结构作为输入/输出传递以存储
ws2struct()的工作区数据。我想看看是否有更好的方法。我不喜欢每次必须创建一个新函数时都创建输入/输出,因为有很多嵌套函数,它们可能会被多次调用,但这是一个观点。 -
或者创建一个
handle类,您只需将其作为输入传递并更新其属性