日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

拍案惊奇——软件调试实战训练营暑期特别班(v2.1)

發布時間:2024/3/13 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 拍案惊奇——软件调试实战训练营暑期特别班(v2.1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隨著軟件復雜度的不斷增加,軟件調試的難度越來越大。以調試器為核心的調試技術是征服軟件世界的一把利劍。要想成為軟件高手,認真修煉軟件調試這門劍法是再多也不為過的。本訓練營通過12個精選案例讓參與者在實戰中“事上磨練”,快速進階。這些案例都來自真實的軟件產品和項目,既有深度,又有廣度,覆蓋WindowsLinux兩大平臺,編程語言方面涉及C/C++.Net等。涵蓋的技術包括交互式調試(用戶態和內核調試),轉儲文件分析,逆向工程,反調試(加殼)與化解等。訓練營由《軟件調試》和《格蠹匯編》的作者張銀奎(格蠹老雷)親任教練,現身說法,剖微窮深。

?

時間2017811-813日(周五-周日)(三天兩晚封閉訓練,挑燈論劍)

地點:廬山秀峰景區內松雪樓(住)和中正行營(研習)

形式:實戰演練、講解和討論點評

培訓對象:Windows或者Linux平臺上從事開發或測試的軟件工程師、項目帶頭人和技術經理

主辦單位:高端調試網站、上海曜印網絡科技有限公司

?

熱身篇:雙劍合璧——WinDBG與GDB之理一分殊(上)(60分鐘)

概要:以GDBGNU事業的開創者RichardStallmanNT內核之父David Cutler的傳奇故事開場,這一部分將介紹GDBWinDBG這兩大調試器的核心特征和關鍵用法,比較其異同。讓聽者在傳奇的故事和精彩的演示中快速掌握這兩把利劍的基本招式。

?

? ? ? ? ? ? ? ? ? ? ? ? ? ?

實戰篇:

戰役1:用戶態轉儲分析:堆損毀導致的隨機崩潰和掛死(90分鐘)

概述:這是一個因為軟件故障而導致外接鼠標鍵盤無法工作的詭異問題,它與移動硬盤配套軟件的后臺服務有關,但也與隱藏在Windows操作系統系統內部函數中的一個代碼疏漏密不可分

工具和主要技能WinDBG用戶態轉儲文件分析,反匯編,從棧上觀察參數,無源代碼調試(跟蹤第三方代碼)

編程語言C/C++.Net,匯編

知識點:棧,堆的布局,strcpy的實現,rep movsx86寄存器的約定用法,溢出,異常,CONTEXTEXCEPTION_RECORDDeviceIoControl

討論:寬松接口的副作用

?

戰役2LINUX用戶態調試:后臺服務因段錯誤崩潰 90分鐘)

概述:Linux下重要后臺服務(Daemon)隨機崩潰,深挖到底,竟然與C語言的規范有關,讓你深刻認識CC++的一個大不同之處,感受著名的頭文件陷阱

工具和主要技能:GDBGCCmapdmesg,調試Linux應用程序,反匯編,插入代碼JIT調試

編程語言:C、匯編

知識點:虛擬內存,分頁機制,頁表,缺頁異常,段錯誤,空指針,AT&T匯編和Intel匯編,調用規約

討論:信任程序員,是耶非耶?

?

戰役3Windows雙機內核調試:應用程序掛死之陷在內核態(90分鐘)

概述:Powerpoint粘貼文件時,它突然掛死,過錯卻不在它,而是與系統機制(DDE)有關,不負責任的第三方服務軟件也是導致問題的關鍵因素

工具和主要技能:WinDBG,內核調試,在內核調試會話中調試應用程序

編程語言:C++.Net

知識點:剪貼板,DDEOLE,系統調用,消息機制,SendPost的區別,廣播消息,Win32K,服務程序,服務循環

討論:(軟件)協作思想的對與錯

?

戰役4:多線程調試關鍵區死鎖和死循環 90分鐘)

概述:多個線程的首要問題是如何同步?做的不好有可能導致死循環,也有能出現死鎖,本戰役對這兩種情況各舉一例,一個是DUMP,一個是活動目標

工具和主要技能:WinDBG,多線程調試,觀察線程的執行時間

編程語言C/C++

知識點:線程和進程,管理線程和進程的數據結構,TEBfs/gs段,volatile關鍵字,死循環,臨界區,!locks, !cs -lCPU提供的同步設施,LOCK前綴,互鎖系列,intricins,同步方法之比較

討論:無鎖編程

?

戰役5LINUX雙機內核調試:與驅動程序間通信時的數據混亂 90分鐘)

概述:應用程序與驅動程序通信時,驅動程序總是收到錯誤的數據,打印出來觀察,竟然是日志信息送給了驅動

工具和主要技能:GDBKGDBLinux雙機內核調試,printkdmesg

編程語言:C

知識點:虛擬文件系統,Linux驅動程序,sysfs,與應用程序通信,標準文件

討論:句柄的隱患(多維度審視句柄)

?

戰役6:內核轉儲分析:內核態棧溢出和雙誤崩潰(90分鐘)

概述:嚴重的雙誤崩潰大多是因為棧枯竭導致的,棧怎么會用完呢?一位書友最先向我反應了這個問題,后來在顯卡驅動中又多次遇到這個問題

工具和主要技能:WinDBG,系統崩潰轉儲分析

編程語言C/C++

知識點:異常的分類,中斷處理,IDT表,雙誤,顯卡驅動,DPC,內核態棧,操作系統的任務切換機制;CPU的硬件任務切換;內核態棧溢出;任務狀態段TSS,內核態棧溢出; CR2寄存器;CR3寄存器,GPU,顯卡驅動概要

討論:單一內核和多內核

?

溫故知新:雙劍合璧——WinDBG與GDB之理一分殊(下)(60分鐘)

概要:在前面實戰的基礎上,溫習和回顧GDBWinDBG的關鍵用法,講解其中的原理,并加以深化和擴展,然后介紹兩大調試器的高級用法,特別是定制調試事件的原理和方法。

?

戰役7:內核態轉儲分析:系統在DPC級別掛死和崩潰(90分鐘)

概述:如何在驅動程序中處理中斷請求是個比較敏感的問題,本講通過兩個真實案例理解IRQL的概念,以及系統在高IRQL掛死(system hang)或者崩潰(IRQL_NOT_LESS_OR_EQUAL)的調試方法

工具和主要技能:WinDBG,轉儲分析,手動觸發系統崩潰,根據反匯編結果產生C/C++代碼

編程語言C/C++

知識點DPCIRQL,硬件資源分配,!arbiter,設備棧,中斷處理,USB的端口狀態寄存器

討論:延遲等待硬件的方法

?

戰役8:通過內核調試會話調試用戶態問題:緩沖區溢出之系統服務崩潰90分鐘)

概述:使用多種方法調試Win7系統中電源管理服務發生崩潰而導致系統反復重啟的問題,使用內核調試解決復雜的用戶態問題,探討軟件的安全問題

工具和主要技能:WinDBG,內核調試,JIT調試,使用內核調試會話調試用戶態問題

編程語言C/C++

知識點:棧緩沖區溢出;基于Cookie的溢出檢測;服務崩潰;未處理異常,異常的分發過程,JIT調試的原理,會話0,強制登出(logoff),fail fastGCC的棧溢出保護

討論:安全開發和調試有關安全的問題

?

戰役9:堆調試:C++程序中的堆錯亂(60分鐘)

概述:以一個典型的因為字符串類使用不當而導致的堆錯誤為例,深刻理解進程中的多個CRT堆,堆管理器的脆弱之處,字符串類分配內存的方法,靜態鏈接和動態鏈接可能產生的影響,分享使用堆的最佳實踐,思考面向對象設計的基本問題

工具和主要技能:WinDBG,交互式調試,硬件斷點

編程語言C/C++

知識點:堆,堆管理器,CRTCRT的多個實例,靜態鏈接CRT和動態鏈接CRT,析構,字符串類,自動內存分配

討論:公開數據成員的得與失

?

戰役10:在調試器下看glibc堆(90分鐘)(NEW)

概述:使用GDB等多種工具深度解析Linux下的用戶態堆和動態內存分配的典型問題,包括多次釋放、溢出等,現場演練使用GDB跟蹤ptmalloc堆的技巧以及使用valgrind工具的方法。

工具和主要技能:GDB,valgrind,交互式調試,調試內存有關的問題

編程語言C/C++

知識點:內存的多層管理,堆的結構,arena,堆塊,分配和釋放過程,valgrind工作原理

?

戰役11:托管程序調試:Windows Platform SDK安裝程序死循環(90分鐘)

概述:Windows7 Platform SDK安裝程序停滯不前,多次重試無果,上調試器發現是因為異常處理不當而陷入死循環

工具和主要技能:WinDBG,使用WinDBG +SOS擴展分析.Net程序的轉儲文件,使用ildasm反匯編.Net程序

編程語言C#, .Net

知識點:異常,try{}catchtry{}finally,動態語言,Dispose方法,方法表,屬性,托管異常

討論:函數的異常出口

?

戰役12:反調試與化解:Rootkit跟蹤之TDSS90分鐘)(NEW)

概述:現場調試著名的根件(RootkitTDSS,介紹反調試的典型方法和原理,以及化解之道

工具和主要技能:WinDBGIDA Pro,反匯編,交互式反匯編,Anti-Debug和應對

編程語言:匯編語言

知識點:單步標志,硬件斷點寄存器,異常處理器,反調試的一般方法,檢查調試器,隱藏調試器,記時法反跟蹤,內存HASH檢測,倒車調用,花指令,隱藏模塊的方法(摘鏈大法),虛擬機,檢測在虛擬機中運行的方法,檢測VMI/O端口,VMWare后門,VPC后門,SIDT方法,STR指令


?

?

講師介紹

張銀奎,微軟全球最有價值技術專家(MVP),同濟大學電子與信息工程學院特邀講師,前英特爾亞太研發有限公司軟件架構師。《軟件調試》、《格蠹匯編》的作者,新版《十萬個為什么》電子分冊撰稿人之一,《程序員》雜志調試之劍欄目作者1996年畢業于上海交通大學信息與控制工程系,在軟件產業工作20年,在多家跨國公司歷任開發工程師、軟件架構師、開發經理、項目經理等職務,對 IA-32 架構、操作系統內核、驅動程序、虛擬化技術、云計算、軟件調優、尤其是軟件調試有較深入研究。從2005年開始公開講授“Windows內核及高級調試”課程,曾在微軟的Webcast和各種技術會議上做過《Windows Vista內核演進》、《調試之劍》(全球軟件戰役研究峰會)、《感受和思考調試器的威力》(CSDN SD2.0大會)、《Windows啟動過程》、《如何診斷和調試藍屏錯誤》、《Windows體系結構——從操作系統的角度》(以上三個講座都是微軟“深入研究Windows內部原理系列”的一部分)等。翻譯(合譯)作品有《現代x86匯編語言編程》、《21世紀機器人》、《觀止——微軟創建NT和未來的奪命狂奔》、《數據挖掘原理》、《機器學習》、《人工智能:復雜問題求解的結構和策略》等。

??

?

附錄1:往屆研習班部分照片


附錄2:松雪樓及秀峰景區部分景觀


?

附錄3:報名與收費

以下所說費用包括:

§? 廬山秀峰景區門票

§? 研習班期間的旅游意外險

§? 包含研習材料的U盤一個

§? 研習班期間(811日上午至813日下午4:30)的住宿、餐飲和茶點

(不包括往返廬山的交通費用和以上費用之外的其它費用)

?

標準收費:5600元每人

優惠條款:

1)同一單位6人同時報名,可免其中一人費用

2)730日前報名可以享受8折優惠

3)在校學生、女生或者個人自費參加請聯系課程顧問詢問優惠價格(視報名時間而不同)

?

報名或垂詢

1)聯系課程顧問:

a)????????Cindy Long,電話:13621638537,電子郵件:cindy.long@leshanting.cn

b)???????Lisa Zhang ,電話:13801874134,電子郵件:lisa.zhang@leshanting.cn

2)請掃描文末的二維碼,關注“格友”公眾號后,發送2017后便可以提交報名信息或者提問。

?

公司付款

收款單位:上海曜印網絡科技有限公司

銀行賬號:1001122409003035262

開戶行:中國工商銀行上海分行靜安新城支行

?

?

***********************************************************

正心誠意,格物致知,以人文情懷審視軟件,以軟件技術改變人生。

歡迎關注格友公眾號



總結

以上是生活随笔為你收集整理的拍案惊奇——软件调试实战训练营暑期特别班(v2.1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。