windbg
線程堆棧是如何增長的
摘要: 技術(shù)深了可以再深,從C++編譯器到CRT運行庫, 再到操作系統(tǒng), 從用戶態(tài)到內(nèi)核和驅(qū)動, 最后到硬件, 原理背后還有原理, 真正能掌握所有細(xì)節(jié)的又有幾人呢?
閱讀全文
posted @
2014-10-12 22:03 Richard Wei 閱讀(5453) |
評論 (3) 編輯
記一個界面刷新相關(guān)的Bug
摘要: 計算機的好處是它永遠(yuǎn)不會欺騙你, 它只會按部就班的執(zhí)行, 所以很多看似奇怪(甚至看似不可思議的問題), 只要你理解了程序背后的機制原理,都是可以找出根本原因的。
閱讀全文
posted @
2014-05-30 23:18 Richard Wei 閱讀(2674) |
評論 (2) 編輯
如何開發(fā)自己的調(diào)試器
摘要: 對系統(tǒng)原理和程序運行過程的理解,會熟練使用調(diào)試器是一個層次,能單獨開發(fā)調(diào)試器又是另外一個層次。
下面是一個不錯的系列,告訴你如何自己開發(fā)一款微型調(diào)試器
閱讀全文
posted @
2013-03-12 10:28 Richard Wei 閱讀(1972) |
評論 (0) 編輯
基于WinDbg的內(nèi)存泄漏分析
摘要: 通過WinDbg結(jié)合AppVerifier, 我們可以詳細(xì)的跟蹤堆中new出來的每一塊內(nèi)存。 很多時候在沒有源代碼的Release版本中,在程序運行一段時間后,如果我們發(fā)現(xiàn)有大內(nèi)存或是大量同樣大小的小內(nèi)存一直沒有釋放, 我們就可以用上面的方法進(jìn)行分析和快速的定位問題。
閱讀全文
posted @
2013-02-27 14:35 Richard Wei 閱讀(18891) |
評論 (10) 編輯
理解程序內(nèi)存
摘要: 通過上面的介紹,相信大家對程序內(nèi)存有了比較全局的理解,以后大家分析問題,遇到一個地址,首先要判斷這個地址分布在哪里:
如果是Image上,那么是在哪個模塊中,這個地址是屬于該模塊的代碼段(.text)還是數(shù)據(jù)段(.data),如果是代碼段,又是屬于哪個函數(shù)?
如果是Heap上,那么究竟是在哪個堆里面,是我們new出來的嗎,是在什么時候new的(new時堆棧狀況)?
如果是在Stack上,那么究竟是屬于哪個線程的堆棧,當(dāng)時線程的堆棧是怎么樣?
總之,程序在內(nèi)存中運行,只有你真正理解了內(nèi)存,你才能真正懂計算機。
閱讀全文
posted @
2012-09-19 23:24 Richard Wei 閱讀(6867) |
評論 (6) 編輯
如何學(xué)習(xí)WindDbg
摘要: 做為一名Windows平臺上的C/C++開發(fā)人員,我們有N個理由學(xué)習(xí)WinDbg的使用:
有些Bug只有在客戶和QA的機器上才能重現(xiàn),我們不可能在他們的機器上裝一個VC吧
WinDbg可以讓我們方便的保存和分析Dump文件
WinDbg的調(diào)試功能比VC強大的多,比如它有強大的API斷點和條件斷點
調(diào)試內(nèi)核和驅(qū)動,我們只能用WinDbg
用WinDbg可以讓你更深入的理解系統(tǒng),理解計算機,用VC你看到的是自己的代碼,用WinDbg你看到的是整個進(jìn)程
......
最重要的,微軟用WinDbg開發(fā)和調(diào)試Windows操作系統(tǒng),它是Windows平臺上最重要的調(diào)試工具.
閱讀全文
posted @
2012-08-15 14:12 Richard Wei 閱讀(4528) |
評論 (6) 編輯
跨模塊傳參數(shù)的教訓(xùn)
摘要: 今天遇到一個比較奇怪的crash問題,這里記錄下。這個crash是由QA設(shè)置了一些不合理的參數(shù)引起的,還好QA當(dāng)時保存了Dump文件,讓我們可以慢慢分析,從而找出代碼中隱藏的問題。
閱讀全文
posted @
2012-07-13 21:27 Richard Wei 閱讀(3885) |
評論 (4) 編輯
用Windbg解決一個Bug
摘要: 可以看到無論對于開發(fā)還是測試人員,windbg很多時候可以幫我們快速的定位問題, 如果借助符號文件,Windbg完全可以實現(xiàn)比VC IDE更強大的調(diào)試供功能, 并且有時候我們不需要源代碼,不需要重新編譯,直接就可以通過windbg調(diào)試和解決問題。
閱讀全文
posted @
2012-06-26 20:33 Richard Wei 閱讀(3694) |
評論 (3) 編輯
Windbg實用手冊
摘要: Windbg的命令分為標(biāo)準(zhǔn)命令,原命令和擴(kuò)展命令,輸入問號(?)可以顯示所有的標(biāo)準(zhǔn)命令的幫助信息; 元命令以一個點(.)開始,輸入.help可以顯示所有的原命令的幫助信息;擴(kuò)展命令以嘆號(!)開始
閱讀全文
posted @
2012-06-07 19:07 Richard Wei 閱讀(23028) |
評論 (1) 編輯