PDB Files: What Every Developer Must Know

Reference: http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspxAuthor: John Robbins Most developers realize that PDB files are something that help you debug, but that's about it. Don't feel bad

工作狀態及重點

      過去的一年,重點關注了windows底層的一些東西,包括核心API,現在學習的圖形編程則涉及更底層的驅動和核心未公開介面。學習了一門新語言——組合語言。瞭解了TCP/IP協議及資料包結構,運用ACE解決網路連接和傳輸問題。      2月份之前,圖形編程這本書能學的要學會,圖形還是很重要的;。     

也說if-else語句

    最近在工作中遇到一些條件判斷的語句, 情景如下:    1. 使用者輸入的彙總統計方式只能允許兩種情況, MAX(...)和MIN(...)    2. 輸入解釋模組根據情況把前面的四個字元截取下來然後進行比較匹配 記為strSummaryWay     我看到這段程式這麼處理:    if ( summaryWay == 'MAX(' )        按求最大值處理;    else        按求最小值處理;     很明顯,這是一個不完備的判斷表達方式.

拼包函數及網路封包的異常處理

 常見的網路伺服器,基本上是7*24小時運轉的,對於網遊來說,至少要求伺服器要能連續工作一周以上的時間並保證不出現伺服器崩潰這樣的災難性事件。事實上,要求一個伺服器在連續的滿負荷運轉下不出任何異常,要求它設計的近乎完美,這幾乎是不太現實的。伺服器本身可以出異常(但要儘可能少得出),但是,伺服器本身應該被設計得足以健壯,“小病小災”打不垮它,這就要求伺服器在異常處理方面要下很多功夫。

1*1 引發的思考

    今天看到一段代碼, 為了判斷一個列表中某一項資料是否都是同一值資料(值只有兩種可能,number和string).虛擬碼近似於:    int numFlag=0;    int strFlag=0;    for item in itemList         if ( item is number )             numFlag=1;         else         {             strFlag=1;          }    if

彙編與破解

      這兩天看了一下破解的資料,感覺很多原理我都是懂的,比如以前的核心模式,使用者模式,PE檔案結構,DLL載入及注入原理,彙編單步跟蹤。感覺就是:基礎不是白打的,前面的《windows核心編程》,《組合語言》都完全用得上。所以,之前定的方向沒有錯,至於COM技術,也有相關的術語提及,我也是能看懂的,《windows圖形編程》這本書帶給了我一些驅動和核心底層的知識,也用上了。      知道一些程式的原理,以及作業系統記憶體方面的知識,使用起IDA

王爽《組合語言》第6章 包含多個段的程式

    理解在彙編中為資料分配空間的方式:     我們可以在程式中,定義我們希望處理的資料,這些資料就會被編譯、串連程式作為程式的一部分寫到可執行檔中,當可執行檔中的程式被載入入記憶體時,這些資料同時被載入入記憶體。與此同時我們要處理的資料也就自然而然的獲得了儲存空間。    使用g命令執行運行到某個地址的功能。    

IBM敏捷培訓小結

    今天參加了一個IBM敏捷教練的課程,(全程是兩天,16小時),我只聽了兩個小時,小結一下.    1. 敏捷流程必需人員:strakeholder;product owner;team leader;team members;        strakeholder是需要的發出點;PO負責把使用者的需求排一個優先順序,但不能決定多個團隊中誰幹什麼事情;而每個迭代周期時間是一定的,team leader通過估算自己團隊的能力,從PO手中選擇自己團隊本個迭代可做的任務.team

王爽《組合語言》第8章 實驗7 不使用棧的解法

assume cs:code data segment db '1975','1976','1977','1978','1979','1980','1981','1982' db '1983','1984','1985','1986','1987','1988','1989','1990' db '1991','1992','1993','1994','1995'

王爽《組合語言》第6章 實驗5 第6題 疑問

以下程式執行起來出了一個我無法解析的問題。迴圈執行到cx=3時,add bx,2執行後居然出現亂跳轉的情況,目前還沒搞清楚到底怎麼一回事。 assume cs:code a segment         dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh a ends b segment         dw 0,0,0,0,0,0,0,0 b ends code segment start:         mov ax,b        

王爽《組合語言》第9章 轉移指令的原理

    可以修改IP,或同時修改CS和IP的指令統稱為轉移指令。     段內轉移只修改IP,分為短轉移和近轉移。     轉移指令可以分為:無條件轉移指令,條件轉移指令,迴圈指令,過程,中斷這五類。     offset取得段位移地址。     jmp為無條件轉移指令,jmp shor只修改IP,範圍為-128~127.     注意jmp在只修改IP時,使用的是相對位址,所以同一個指令在不同地址執行起來轉移到的地方是不一樣的。     jmp far

Gdiplus使用中出現的一個Bug記錄

      今天追蹤一個Bug:在程式關閉的時候,程式崩潰。      經過一天的跟蹤,最終找到問題所在:      static Gdiplus::Font font(L"Arial",8.0f * 96.0 / 72,FontStyleBold,UnitPixel);     

扁鵲的哥哥們

     記得讀書時學過一篇課文: 魏文王問扁鵲     魏文王問扁鵲曰:「子昆弟三人其孰最善為醫?」扁鵲曰:「長兄最善,中兄次之,扁鵲最為下。」魏文侯曰:「可得聞邪?」扁鵲曰:「長兄於病視神,未有形而除之,故名不出於家。中兄治病,其在毫毛,故名不出於閭。若扁鵲者,鑱血脈,投毒藥,副肌膚,閑而名出聞於諸侯。」      我想到了編程.     寫程式時考慮周到,防患於未然的,是高手; 程式測試時,發現錯誤,有錯補錯,次之; 等到生產線上出了問題, 造成損失而不知道程式錯在哪裡,

如何增加一列唯一性的ID–row_number() over()的用法

 樓主發表於:2010-12-13 14:57:51已知:預存程序得到下面記錄:name valueA 100B 23C 95D 45求:在記錄第一列增加ID列,並且要按value排序:結果:ID name value1 A 1002 C 953 D 454 B 23SQL code select id=row_number() over(oder by value desc), *from tborder by value descselect id=(select count(1)

王爽《組合語言》第9章 實驗8 分析一個奇怪的程式

    問:以下代碼,程式為什麼能正常結束?assume cs:codesgcodesg segment    mov ax,4c00h    int 21hstart:    mov ax,0    s:    nop    nop    mov di,offset s      mov si,offset s2     mov ax,cs:[si]       mov cs:[di],ax    s0:    jmp short s s1:    mov ax,0    int 21h   

王爽《組合語言》第7章 更靈活的定位記憶體位址的方法

這章增加了一些常用的指令使用方法,但沒有小結,我就自己小結一下。     1.and和or,用於位的與或,是一個很基礎的邏輯操作用法,一定要靈活掌握。像(n+40H-1)&~(40H-1)和n&~(40H-1)是什麼意思應該熟悉。    2.使用邏輯操作實現大小寫轉換    

編程規則之–不要寫面面俱到的函數

    在進入公司的編程規範考試的時候,有這麼一個規範--不要試圖去寫一個多功能的,面面俱到的函數.    在最近的工作中,算是真正體會到這個規範的重要性了.因為做二次開發的時候,要接觸到別人的代碼,裡面多處一個函數處理好幾個邏輯上不是並列的分支,看半天又發現一些東西,跟研究怪物似的,令我看的死去活來,氣得半死.真想罵那個人.   

王爽《組合語言》第9章 實驗9 根據材料編程

實現向螢幕中間分別顯示綠色、綠底紅色、白底藍色的字串'welcome to masm'assume cs:codesg,ds:datasgdatasg segment db 'welcome to masm!'datasg endscolor segment db 00000010B ;黑底綠字 db 00100100B ;綠底紅字 db 01110001B ;白底藍字color endsstack segment dw 0,0,0,0, 0,0,0,0stack

王爽《組合語言》第8章 資料處理的兩個基本問題

本章重點問題:處理的資料放在什麼地方;要處理的資料有多長。     1.[bx]的基址是ds,[bp]的基址是ss。所以bx,bp不能在一起做位移的定址,si和di預設基址是ds,但若和bp一起使用則基址為ss。另外,si+-di不能在沒有bx或bp的時候作運算。    2.指令執行前資料可以在3個地方:記憶體,寄存器,指令緩衝器。     3.資料位元置表達方式:立即數,寄存器,段地址+位移地址     4.五種定址方式:直接,寄存器間接,寄存器相對,基址變址,相對基址變址。    

王爽《組合語言》第10章 檢測點10.5(1)的疑問

題目:下面的程式執行後,ax中的數值為多少?(注意用call指令的原理來分析,不要在Debug中單步跟蹤來驗證你的結論。對於此程式,在Debug中單步跟蹤的結果,不能代表CPU的實際執行結果)assume cs:codesgstack segment dw 8 dup (0)stack ends codesg segment start: mov ax,stackmov ss,axmov sp,16mov ds,axmov ax,0 call word ptr

總頁數: 61357 1 .... 18625 18626 18627 18628 18629 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.