2012-06-13 19 views
0

目前我正在開展案例研究,將IronRuby整合到我們的核心產品之一中。 只能以同步方式執行腳本,所以我打算在每個線程中執行腳本。如何在DLR腳本主機上執行腳本時獲取運行時上下文?

但另外我需要在腳本執行更多的控制,ESP。我需要一種方法暫停腳本並在稍後的時間點恢復。 我想我需要存儲一個stackframe incl。在腳本暫停時所有的變量,我稱之爲「運行時環境」。唉,我沒有找到一種方法來以所需的方式「監視」腳本執行。 (我檢查了使用回調可以通過動態對象的主導語言,但這種技術並不能提供所需的環境。)

是否有人在那裏有一個線索如何處理這個問題呢?

回答

1

你可能使用DLR的跟蹤API,它通常用於實現調試器,但它不是有據可查的。你基本上只是將腳本「分解」到調試器中,然後再繼續執行。有一些信息here但它有點過時了。

或者(和更安全的可能,這取決於你的腳本正在做的),你的腳本可能會產生回在限定的點的主機。在Python中,我會使用一個生成器;我不確定Ruby,但即使主機提供了腳本可以調用的yield()函數也應該足夠。

+0

是的,我也認爲這是一種方式來做到這一點...但它是像你說的;很難找到一個文檔。 – Nico

相關問題