2010-01-09 19 views
0

是否有任何工具可以捕獲客戶端執行和執行的JavaScript代碼?我們使用調試器命令來逐步通過開發機器,但調試生產問題是否有任何工具捕獲加載和執行的JavaScript代碼?捕獲正在執行的JavaScript代碼的工具

任何指導,非常感謝。

感謝

回答

0

的Firebug,IE開發者工具欄和MS腳本調試程序,這取決於你的瀏覽器。

2

如果您使用的是Firefox(或者可以測試),FireBug是一款非常棒的工具,可以讓您跨入,跳出,跳過等JavaScript代碼塊。它還會允許你在你的js中放置斷點,並在需要時暫停執行。

0

個人而言,我喜歡使用Chromium Developper工具:http://www.chromium.org/devtools。您可以從CTRL-SHIFT-J開始,或者點擊右上角的文檔類圖標,然後點擊開發者選項。

-1

我使用的工具有幾種,包括Firebug,Internet Explorer 8。不過,我最喜歡用於複雜調試的工具是visual studio。一種使用Visual Studio的關鍵是使用debugger command.

+0

這對於開發環境非常適用,但是如果您需要在其他地方調試/查看瀏覽器JavaScript執行堆棧, – G33kKahuna 2010-01-10 22:22:42

1

如果你想辦法調試生產代碼中,有一些事情你可以監控:

  • 捕獲window.onerror事件。
  • 創建一個JSON對象來記錄頁面上的重要事件。
  • 如果您擔心您的網站可能會變慢,請在慢速操作之前/之後使用「new Date.getTime()」來獲得運行所需的時間。

我不知道現成的工具可以做到這一點。通常人們使用img標籤將GET請求發送回服務器,然後分析日誌。下面是用於記錄JavaScript錯誤的例子:

window.onerror = function(errorMsg, url, lineNumber) { 
    var url = '/js_err?msg=' + uriEncodeComponent(errorMsg) + 
      '&url=' + uriEncodeComponent(url) + 
      '&line=' + uriEncodeComponent(line); 
    var i = new Image(); 
    i.src = url; // Sends GET request to /js_err with info 

    // Add some checks so that if above code throws an error, you won't 
    // ping your server in an infinite loop 
} 

然後你可以看一下請求在你的日誌/ js_err看到上面的錯誤信息是什麼,以及與請求的用戶代理相結合,看看有什麼瀏覽器錯誤發生在。