2015-10-12 66 views
2

我想創建一個JavaScript測試工具。不是創建一個可以增加工具複雜性的解釋器,而是可以調用現有的調試器,例如與Chrome和Firefox集成的調試器。例如,假設有:JavaScript調試器引擎

function foo (a, b) { 
    return (a > b) ? 1 : 0; 
} 

有從外部應用程序中執行一些參數此功能的可能性大嗎?通過這種方式,我可以用不同的參數執行該功能並保持程序的狀態。

回答

2

把你的JavaScript以下行要中斷調試程序:

debugger; 

我使用Visual Studio 2013,並加入這一行意味着我打入VS在這一點上,可以看到變量,在當前上下文中執行命令等。

編輯:如果沒有IDE,您可能會有點卡住,因爲F12工具需要顯式打開,從我讀過的東西。 您可以編寫一個全局JavaScript記錄器來記錄傳遞給失敗方法的任何對象的成員,它甚至可以是對服務器端代碼的AJAX調用,並使用反射將其寫入C#以獲取所有屬性。

+0

感謝您的回答。我不想使用IDE進行調試,但我想查詢現有調試器並從外部應用程序調用它。 – Modfoo

+0

像Chrome F12工具一樣? Chrome不會 - https://code.google.com/p/chromium/issues/detail?id=112277 - 「我們只允許顯式devtools開放。」 – VictorySaber

+0

我發現Chrome和Firefox的調試協議,但我沒有找到他們使用的通信協議。 – Modfoo