2016-06-24 136 views
1

我想看到警告,以便更好地調試我的應用程序,這是在Asp.Net中製作的,所以它有很多javascript生成的代碼。問題是頁面重新加載速度很快,我無法查看警告消息。我想知道是否有辦法在Google Chrome瀏覽器中解決警告,如this question中描述瞭如何解決錯誤。有沒有辦法做到這一點,或者我有什麼替代方案?有沒有辦法打破Google Chrome中的警告?

+1

什麼樣的警告?你可以鉤住'console.warn'並設置一個斷點。 – SLaks

+0

好吧,警告可能來自任何地方,因爲它是從asp.net生成的代碼,我忘記提及這是問題,所以我不知道在哪裏設置斷點,並且在控制檯中,因爲頁面只是快速刷新按鈕上的操作,我沒有時間看到警告消息。 – meJustAndrew

+0

這裏是一些關於如何在Chrome中進行調試的信息https://developer.chrome.com/devtools/docs/javascript-debugging#pause-on-exceptions – erickeno

回答

3

如果您只是想查看控制檯消息,打開「保留日誌」可能是一個更簡單的解決方案。

enter image description here

+0

上帝保佑你! :D – meJustAndrew

2

正如@Nitsew已經表示,保留日誌是一個很好的解決方案。但只是爲了好玩,因爲我認爲你的問題很有趣,所以我決定製定一個解決方案去做你所問的事情;導致調試時使用warn發生:

function testBreak() { 
    console.warn('This is a warning', 1, 2); 
    return 1; 
} 

var oldWarningFunction = console.warn; 
console.warn = function() { 
    debugger; 
    oldWarningFunction.apply(console, arguments); 
}; 

console.log(testBreak()); 

從本質上講,我有猴子打補丁的原console.warn輸出調試語句。當這會導致調試出現,您可能需要查看堆棧跟蹤,看看你在代碼:

enter image description here

一旦你點擊後退一對堆棧跟蹤,你可以看到功能那個電話。

這一切似乎都很愚蠢,因爲你可以在你想要的代碼中直接編寫自己的debugger聲明。還有一件事,對誰可能會閱讀並嘗試它:不要把這個留在你的產品代碼

+0

這是多麼令人敬畏,你也可以拋出自定義異常,並且它會在警告中真正突破,不是嗎?但當然,這可能不是一個好習慣! – meJustAndrew

相關問題