2010-09-23 29 views
5

ASPX錯誤頁面上的.NET堆棧跟蹤中的數字是什麼(請參見圖片)?他們似乎不是線路號碼,因爲他們太大?這些數字如何幫助我確定拋出異常的代碼行?ASPX錯誤頁面上的.NET堆棧跟蹤中的數字是什麼?

Stack trace example

+1

這是本地代碼的偏移量:http://odetocode.com/Blogs/scott/archive/2005/01/25/funny-numbers-in-my-stack-trace.aspx – rickythefox 2010-09-23 10:00:38

回答

9

編輯:由於這已被標記爲正確,我還不如編輯它,使它這樣:)

他們是方法的實時編譯的本地代碼中的偏移。不幸的是,這意味着他們在試圖弄清楚發生了什麼時並沒有什麼幫助。有關更詳細的示例,請參見this blog post

+1

它們可能也是*本地*偏移量(正如我們將用本地堆棧跟蹤得到的),實際上我懷疑這會產生什麼影響(大的本地偏移量指示不匹配的符號不適用於.NET)。 – Richard 2010-09-23 09:51:28

+0

偏離什麼?上面的InitView方法甚至沒有接近1064 IL行...... – rickythefox 2010-09-23 09:55:13

+0

@Crassy:不是IL *行*,但IL *偏移* - 如在ILDASM左側顯示的數字。一條指令可以佔用幾個字節的IL。 – 2010-09-23 09:57:47