原创 《談談windows核心編程系列》 結構化異常處理SEH之__finally終止處理

        結構化異常處理SEH:__finally終止處理。   結構化異常處理(Structuredexception handling)簡稱SEH。是windows系統提供的異常處理機制。促使windows將SEH加入到win

原创 windbg常用命令

基本知識和常用命令(1)       Windbg下載地址http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx安裝完後執行windbg –I將Windbg設置成默認調

原创 windows程序員進階系列:《軟件調試》之堆 的基本概念和分類

                        windows程序員進階系列:《軟件調試》之堆 (一)  堆是軟件在運行時動態申請內存空間的主要途徑。從堆上申請來的空間需要程序員自己申請和釋放,且申請和釋放操作必須絕對匹配。忘記釋放或者多

原创 你所不知道的C和C++運行庫

                                       你所不知道的C和C++運行庫   週五晚,小雨,少見的未加班。無聊,遂準備寫一篇博客,介紹一下C和C++運行庫,只因發現工作幾年的人對此一知半解的大有人在。  

原创 跟我一起寫 Makefile

    概述      什麼是makefile?或許很多Winodws的程序員都不知道這個東西,因爲那些Windows的IDE都爲你做了這個工作,但我覺得要作一個好的和professional的程序員,makefile還是要懂。這就好像現

原创 windows程序員進階系列:《軟件調試》之七--運行期檢查

             運行庫和運行期檢查 上一篇文章我們介紹了編譯期檢查,編譯期檢查主要是檢查程序的靜態特徵。對於程序運行期才體現出的錯誤,必須使用編譯器提供的運行期檢查功能。爲了支持運行期檢查,編譯器提供了運行庫。在運行庫中提供了一

原创 windows程序員進階系列:《軟件調試》之六--編譯器的調試支持

                                編譯器的調試支持 編譯器用於將高級語言翻譯成cpu可以識別的機器代碼。經歷了幾十年的發展,編譯器發生了很大的變化,但是支持調試這一點沒有任何改變。檢查並報告被編譯軟件中的錯誤

原创 windows程序員進階系列:《軟件調試》之Win32堆的調試支持

           Win32堆的調試支持  爲了幫助程序員及時發現堆中的問題,堆管理器提供了以下功能來輔助調試。 1:堆尾檢查(Heap Tail Check) HTC,在堆尾添加額外的標記信息,用於檢測堆塊是否溢出。2:釋放檢查(H

原创 Windbg 32位版本和64位版本的選擇

習慣了Vsiual Studio的兄弟們可能會因爲先入爲主的原因以爲所有的調試器都應該像它那樣,其實不然,當你安裝Debugging Tools for Windows的時候,你將發現有兩個系列的工具,一系列32位的工具和一系列64位的工

原创 如果一個程序跑10000次只失敗一次,你會怎麼調試?

在前面調試Bug的神兵利器:通過WinDbg條件斷點收集Log這篇文章中,我講到了如何通過條件斷點收集各種信息來判斷Bug究竟出在哪裏。但是,這個方法還是不太管用,因爲它不能夠反覆執行某個程序。下面我要講一種技巧可以用來調試類似這樣的問題

原创 使用C++實現簡單線程池v1.0

                          C++實現簡單線程池。          歡迎轉載,轉載請註明原出處:http://blog.csdn.net/ithzhang/article/details/9020283    

原创 跟我一起學windows初高級調試(1) --你爲什麼要學調試

                   跟我一起學windows初高級調試之你爲什麼要學調試       本系列文章使用C/C++語言,vs自帶調試器和windbg等其他相關調試工具,介紹windows下用戶態下的初高級調試,不涉及內核調試

原创 Live555研究之一 源代碼編譯

                                            Live555研究之一 源代碼編譯       Live555 是一個爲流媒體提供解決方案的跨平臺的C++開源項目,它實現了對標準流媒體傳輸協議如RT

原创 由使用LeakDialog時遇到的問題而引出的一些分析

                            由使用LeakDialog時遇到的問題而引出的一些分析     前段時間在使用leakDialog檢測調用malloc和new所分配的內存泄露時,發現其根本不起作用!這讓我百思不得其

原创 LIVE555源碼研究之四:MediaServer (一)

                                    LIVE555源碼研究之四:MediaServer (一)      從本篇文章開始我們將從簡單服務器程序作爲突破點,深入研究LIVE555源碼。     從前面的文