2012-08-10 56 views
0

幾乎所有我用於調試的語言工具都支持斷點和步進模式,所以我可以一次看到範圍內的特定數據。但是當我錯過了程序中某些組件的神祕路徑中的數據時,特別是當它在具有多個入口和出口的組件中汽化時,我仍然感到痛苦。如果有一個工具可以「標記」基準是否可以跟蹤程序中的特定數據?

疼痛可能被殺死,並按照它,報什麼功能(或其他基本運算部)吞下了和改造。這應該像是一些爲病人提供放射藥丸的醫學檢查,醫生可以在外面追蹤它。我知道回溯幾乎是我需要的,但在每一幀之間追溯數據仍然是一種痛苦的方式。

根據我的(差)的編程經驗,最近的工具/語言哈斯克爾箭機制,它使用類型系統和組成代表程序的IPO路徑的全貌。但它需要你的程序遵循它所倡導的方式,我不知道它是否是實現這個想法的最佳方式。尤其是你不能像其他語言那樣輕鬆編程,比如C,C++,Ruby,Java和JavaScript。

回答

1

這是一個相當棘手的任務。你可以嘗試使用面向方面編程(AOP)來實現這一點,但是發現所有的訪問一個特定的對象(至少在Java中)並且檢測它們實際上是不可能的,我想說。

你可以得到的最接近的可能是所謂的dflow-pointcut in AOP,這唉尚未在任何地方,據我所知實現。

你最好的選擇將在一個特定的地址範圍內設置了一個觸發一個調試器斷點在您的數據的生命(這你需要首先弄清楚)。

+0

感謝您的回答。 AOP似乎是一種可接受的方式來追蹤一些進口數據。 – snowmantw 2012-08-11 03:18:20

相關問題