gpt4 book ai didi

debugging - 是否可以在程序中跟踪特定数据?

转载 作者:行者123 更新时间:2023-11-28 21:33:13 25 4
gpt4 key购买 nike

我调试用的几乎所有语言的工具都支持断点和步进模式,所以我可以一次观察范围内的特定数据。但是当我在程序中一些组件的神秘路径中漏掉数据时,我仍然感到痛苦,尤其是当它在一些具有多个入口和导出的组件中蒸发时。

如果有一种工具可以“标记”一个数据并跟踪它,报告哪些函数(或其他基本计算单元)吞噬并转换了它,那么这种痛苦可能会消失。这应该像一些医学测试,给病人吃一颗辐射药丸,医生可以在外面追踪它。我知道回溯几乎是我所需要的,但它仍然是一种在每一帧之间追踪数据的痛苦方式。

根据我(糟糕的)编程经验,最接近的工具/语言是 Haskell 中的 Arrow 机制,它使用类型系统和组合来表示程序 IPO 路径的全貌。但它要求你的程序按照它所提倡的方式进行,我不知道这是否是实现这个想法的最佳方式。尤其是使用其他语言(如 C、C++、Ruby、Java 和 JavaScript)时,您无法像这样轻松地进行编程。

最佳答案

这是一项相当棘手的任务。您可以尝试使用面向方面的编程 (AOP) 来实现这一点,但要找到对特定对象的所有 访问(至少在 Java 中)并检测它们实际上是不可能的,我想说。

你能得到的最接近的可能是所谓的dflow-pointcut in AOP ,可惜据我所知还没有在任何地方实现。

您最好的选择是在您的数据所在的特定地址范围内设置一个带有触发器的调试器断点(您需要首先弄清楚)。

关于debugging - 是否可以在程序中跟踪特定数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11895204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com