




已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
掌握VS2010調(diào)試 - 入門(mén)指南debuggingvisual studio 2010VS2010調(diào)試目錄(?)-1. 導(dǎo)言2. 如何啟動(dòng)調(diào)試3. 斷點(diǎn)Breakpoints1. 1 使用斷點(diǎn)進(jìn)行調(diào)試1. 11 逐過(guò)程Step Over2. 12 逐語(yǔ)句Step Into3. 13 跳出Step Out4. 14 繼續(xù)Continue5. 15 設(shè)置下一語(yǔ)句Set Next Statement6. 16 顯示下一語(yǔ)句Show Next Statement Ctrl2. 2 斷點(diǎn)標(biāo)簽Labeling in Break Point3. 3 條件斷點(diǎn)Conditional Breakpoint4. 4 導(dǎo)入導(dǎo)出斷點(diǎn)Import Export Breakpoint5. 5 斷點(diǎn)命中計(jì)數(shù)Breakpoint Hit Count6. 6 Breakpoint When Hit7. 7 斷點(diǎn)篩選器Breakpoint Filter4. 數(shù)據(jù)便簽Data Tip1. 1 Pin Inspect Value During Debugging2. 2 Drag-Drop Pin Data Tip3. 3 Adding Comments4. 4 Last Session Debugging Value5. 5 Import Export Data Tips6. 6 Change Value Using Data Tips7. 7 Clear Data Tips5. 監(jiān)視窗口Watch Windows1. 1 局部變量Locals2. 2 自動(dòng)窗口Autos3. 3 監(jiān)視Watch1. 有4個(gè)可同時(shí)使用的監(jiān)視窗口 圖多個(gè)監(jiān)視窗口2. 31 Creating Object ID4. 46. 即時(shí)窗口Immediate Window7. 調(diào)用堆棧Call Stack8. 調(diào)試多線(xiàn)程程序Debugging Multithreaded Program1. 1 Exploring Threads Window2. 2 Flag Just My Code3. 3 Break Point Filter - Multithread Debugging9. 調(diào)試并行程序Debugging Parallel Program1. 1 Parallel Task and Parallel Stacks10. Debugging with IntelliTrace1. 1 Overview2. 2 Mapping with IntelliTrace3. 3 Filter IntelliTrace Data11. 調(diào)試常用快捷鍵Useful Shortcut Keys For VS Debugging12. 深入學(xué)習(xí)Further Study13. 總結(jié)Summary1 導(dǎo)言在軟件開(kāi)發(fā)周期中,測(cè)試和修正缺陷(defect,defect與bug的區(qū)別:Bug是缺陷的一種表現(xiàn)形式,而一個(gè)缺陷是可以引起多種Bug的)的時(shí)間遠(yuǎn)多于寫(xiě)代碼的時(shí)間。通常,debug是指發(fā)現(xiàn)缺陷并改正的過(guò)程。修正缺陷緊隨debug之后,或者說(shuō)二者是相關(guān)的。如果代碼中存在缺陷,我們首先要識(shí)別造成缺陷的根本原因(root cause),這個(gè)過(guò)程就稱(chēng)作調(diào)試(debugging)。找到根本原因后,就可以修正缺陷。那么如何調(diào)試代碼呢?Visual Studio提供了很多用于調(diào)試的工具。有時(shí)調(diào)試需要花費(fèi)大量時(shí)間去識(shí)別root cause。VS提供了許多輔助調(diào)試的便捷的工具。調(diào)試器(Debugger)包含錯(cuò)誤列表、添加斷點(diǎn)、可視化的程序流程、控制執(zhí)行流程、Data Tips、監(jiān)視窗口(watch windows)、多線(xiàn)程調(diào)試、線(xiàn)程窗口、并行調(diào)試概覽以及IntelliTrace調(diào)試概覽。我希望本文能夠?qū)φ{(diào)試功能的使用者有所裨益。請(qǐng)注意,本文使用VS2010。某些功能在舊版本中也是一致的,但是VS2010新增了許多features(Labeling breakpoint, Pinned DataTip, Multithreaded Debugging, Parallel debugging and IntelliTrace)。2 如何啟動(dòng)調(diào)試?可以通過(guò)VS的調(diào)試(Debug)菜單啟動(dòng)調(diào)試。點(diǎn)擊調(diào)試菜單下的“啟動(dòng)調(diào)試”或者按F5鍵啟動(dòng)。如果你已經(jīng)在代碼中加入了斷點(diǎn),那么執(zhí)行會(huì)自動(dòng)開(kāi)始。圖 啟動(dòng)調(diào)試(Start Debugging)“附加到進(jìn)程(Attach to Process)”是另一種啟動(dòng)調(diào)試的方法。Attach Process會(huì)為應(yīng)用程序啟動(dòng)一個(gè)調(diào)試會(huì)話(huà)??赡芪覀兏煜SP.NET Web應(yīng)用的Attach Process調(diào)試。我發(fā)了另外兩篇相關(guān)的帖子。如下: Debug Your ASP.NET Application that Hosted on IIS Remote IIS Debugging: Debug your ASP.NET Application which is hosted on Remote IIS Server通常我們通過(guò)在可能存在問(wèn)題代碼處加斷點(diǎn)來(lái)啟動(dòng)調(diào)試。因此,我們從斷點(diǎn)開(kāi)始講起。3 斷點(diǎn)(Breakpoints)斷點(diǎn)用于通知調(diào)試器何時(shí)何處暫停程序的執(zhí)行。通過(guò)點(diǎn)擊左邊欄或者按F9鍵在當(dāng)前行添加斷點(diǎn)。在加斷點(diǎn)之前,你需要知道你的代碼將會(huì)出現(xiàn)什么錯(cuò)誤,在什么地方停止執(zhí)行。當(dāng)調(diào)試器執(zhí)行到斷點(diǎn)處時(shí),你可以使用其他的調(diào)試工具核對(duì)代碼何處出現(xiàn)錯(cuò)誤。圖 設(shè)置斷點(diǎn)(Set Breakpoint)3.1 使用斷點(diǎn)進(jìn)行調(diào)試你已經(jīng)在你想要暫停執(zhí)行的地方設(shè)置了斷點(diǎn)?,F(xiàn)在按F5鍵啟動(dòng)調(diào)試,當(dāng)程序執(zhí)行到斷點(diǎn)處時(shí),自動(dòng)暫停執(zhí)行。此時(shí)你有多種方式來(lái)檢查代碼。命中斷點(diǎn)(hit the breakpoint)后,加斷點(diǎn)的行變?yōu)辄S色,意指下一步將執(zhí)行此行。在中斷模式下,你有多條可使用的命令,使用相應(yīng)命令進(jìn)行進(jìn)一步的調(diào)試。圖 斷點(diǎn)工具條(Breakpoint Toolbar)3.1.1 逐過(guò)程(Step Over)調(diào)試器執(zhí)行到斷點(diǎn)后,你可能需要一條一條的執(zhí)行代碼。”Step Over“F10命令用于一條一條的執(zhí)行代碼。這將執(zhí)行當(dāng)前高亮的行,然后暫停。如果在一條方法調(diào)用語(yǔ)句高亮?xí)r按F10,執(zhí)行會(huì)停在調(diào)用語(yǔ)句的下一條語(yǔ)句上。Step Over會(huì)一次整個(gè)方法。圖: 逐過(guò)程(Step Over - F10)3.1.2 逐語(yǔ)句(Step Into)它與Step Over相似。唯一的不同是,如果當(dāng)前高亮語(yǔ)句是方法調(diào)用,調(diào)試器會(huì)進(jìn)入方法內(nèi)部??旖萱I是”F11“。圖: 逐語(yǔ)句(Step Into - F11)3.1.3 跳出(Step Out)當(dāng)你在一個(gè)方法內(nèi)部調(diào)試時(shí)會(huì)用到它。如果你在當(dāng)前方法內(nèi)按Shift - F11,調(diào)試器會(huì)完成此方法的執(zhí)行,之后在調(diào)用此方法的語(yǔ)句的下一條語(yǔ)句處暫停。3.1.4 繼續(xù)(Continue)它像是重新執(zhí)行你的程序。它會(huì)繼續(xù)程序的執(zhí)行直到遇到下一個(gè)斷點(diǎn)??旖萱I是”F5“。3.1.5 設(shè)置下一語(yǔ)句(Set Next Statement)這是一個(gè)非常有趣的特性。設(shè)置下一語(yǔ)句允許你在調(diào)試的時(shí)候改變程序的執(zhí)行路徑。如果你的程序在某一行處暫停而且你想改變執(zhí)行路徑,跳到指定行,在這一行上右擊,在右擊菜單中選擇”設(shè)置下一語(yǔ)句“。這樣程序就會(huì)轉(zhuǎn)到哪一行執(zhí)行而不執(zhí)行先前的代碼。這在如下情況中非常有用:當(dāng)你發(fā)現(xiàn)代碼中某些行可能會(huì)導(dǎo)致程序的中斷(break)而你不想讓程序在那個(gè)時(shí)候中斷??旖萱I是Ctrl + Shift + F10。圖: 設(shè)置下一語(yǔ)句(Set Next Statement)3.1.6 顯示下一語(yǔ)句(Show Next Statement Ctrl+*)這一行用黃色箭頭標(biāo)記。這行是程序繼續(xù)執(zhí)行時(shí)下一條將執(zhí)行的語(yǔ)句。3.2 斷點(diǎn)標(biāo)簽(Labeling in Break Point)這是VS2010提供的新特征(feature)。用于更好的管理斷點(diǎn)。它使得我們能夠更好的分組和過(guò)濾斷點(diǎn)。這像是對(duì)斷點(diǎn)的歸類(lèi)。如果我們添加了與某一功能相關(guān)的不同類(lèi)型的斷點(diǎn),我們可以根據(jù)需要使能(enable)、取消(disable)、過(guò)濾(filter)這些斷點(diǎn)。例如,假設(shè)我們要調(diào)試一下代碼塊。csharpview plaincopy1. classProgram2. 3. staticvoidMain(stringargs)4. 5. stringstrNames=Name1,Name2,Name3,Name4,Name5,Name6;6. 7. foreach(stringnameinstrNames)8. 9. Console.WriteLine(name);/BreakPoint10. 11. inttemp=4;12. for(inti=1;i6)15. temp=5;16. 17. 18. 19. publicstaticvoidMethod1()20. 21. Console.WriteLine(BreakPointinMethod1);/BreakPoint22. 23. 24. publicstaticvoidMethod2()25. 26. Console.WriteLine(BreakPointinMethod2);/BreakPoint27. Console.WriteLine(BreakPointinMethod2);/BreakPoint28. 29. 30. publicstaticvoidMethod3()31. 32. Console.WriteLine(BreakPointinMethod3);/Breakpoint33. 34. 執(zhí)行程序?qū)⑼T诘谝粋€(gè)斷點(diǎn)處。下圖給出了斷點(diǎn)列表。圖: 斷點(diǎn)列表上圖中Labels列都為空。下面介紹如何給斷點(diǎn)設(shè)置標(biāo)簽(label)以及如何使用標(biāo)簽。只需在特定代碼行的斷點(diǎn)符號(hào)上右擊()或者在斷點(diǎn)窗口中設(shè)置()即可對(duì)任何斷點(diǎn)設(shè)置標(biāo)簽。圖: 設(shè)置斷點(diǎn)標(biāo)簽(Setting Breakpoint Label)右擊斷點(diǎn),點(diǎn)擊編輯標(biāo)簽(Edit Labels),即可對(duì)任意斷點(diǎn)添加標(biāo)簽。對(duì)于示例代碼,我為所有斷點(diǎn)的標(biāo)簽起了易于理解的名字。圖: 添加斷點(diǎn)標(biāo)簽(Adding Breakpoint Label)這些標(biāo)簽如何輔助我們調(diào)試呢?現(xiàn)在,所有斷點(diǎn)都是使能的(enabled)。如果你不想調(diào)試method2,一般情況下你必須去對(duì)應(yīng)的方法中一個(gè)一個(gè)的取消斷點(diǎn),但這里你可以通過(guò)標(biāo)簽名過(guò)濾或者搜索它們,然后選中它們以方便的取消它們。圖: 使用標(biāo)簽過(guò)濾斷點(diǎn)(Filter Breakpoint Using Labels)斷點(diǎn)標(biāo)簽到此介紹完畢。我舉的例子非常簡(jiǎn)單,但是斷點(diǎn)標(biāo)簽在你調(diào)試大量代碼,多個(gè)工程等情況下非常有用。3.3 條件斷點(diǎn)(Conditional Breakpoint)假設(shè)你在多次迭代(循環(huán))處理數(shù)據(jù)而你只想調(diào)試其中某幾次迭代。這意味著你想根據(jù)某些特定條件暫停你的程序。Visual Studio斷點(diǎn)允許你設(shè)置條件斷點(diǎn)。當(dāng)且僅當(dāng)條件滿(mǎn)足時(shí),調(diào)試器才會(huì)停住。首先,你需要在你想暫停執(zhí)行處設(shè)置斷點(diǎn)。然后右擊紅色的斷點(diǎn)圖標(biāo)。右鍵菜單中點(diǎn)擊”條件“。圖: 設(shè)置斷點(diǎn)條件(Set Breakpoint Condition)點(diǎn)擊右鍵菜單中的”條件“后,會(huì)彈出下面的對(duì)話(huà)框設(shè)置斷點(diǎn)的條件。圖: 斷點(diǎn)條件設(shè)置假設(shè)你要調(diào)試下面的代碼塊:csharpview plaincopy1. classProgram2. 3. staticvoidMain(stringargs)4. 5. stringstrNames=Name1,Name2,Name3,Name4,Name5,Name6;6. 7. foreach(stringnameinstrNames)8. 9. Console.WriteLine(name);/Breakpointishere10. 11. 12. 你在Console.WriteLine()語(yǔ)句處設(shè)置了斷點(diǎn)。當(dāng)執(zhí)行程序時(shí),每次for-each循環(huán)都會(huì)停住。如果你想讓代碼只在name=Name3時(shí)停住,該怎么辦呢?非常簡(jiǎn)單,你只需使用條件name.Equals(Name3)。圖: 設(shè)置斷點(diǎn)條件查看斷點(diǎn)符號(hào)。它應(yīng)該看上去像是一個(gè)加(+)號(hào)在斷點(diǎn)符號(hào)內(nèi)部,這表示該斷點(diǎn)是條件斷點(diǎn)。圖: 條件斷點(diǎn)符號(hào)(Conditional Breakpoint Symbol)設(shè)置斷點(diǎn)的條件之后,在調(diào)試程序,調(diào)試器只會(huì)在滿(mǎn)足給定條件時(shí)才停住。圖: 條件斷點(diǎn)命中(Conditional Breakpoint hit)條件輸入框的自動(dòng)補(bǔ)全(intellisense):上面給出的斷點(diǎn)條件非常簡(jiǎn)單,可以非常容易的寫(xiě)到條件文本框中。有時(shí)你可能需要定義很大很復(fù)雜的條件。不必?fù)?dān)心,VS為條件文本輸入框也提供了自動(dòng)補(bǔ)全功能。因此,在條件框中輸入就像是在編輯器中一樣方便。如下圖。圖: 條件文本框的自動(dòng)補(bǔ)全(intellisense in condition textbox)我?guī)缀踔v解了條件斷點(diǎn)的所有內(nèi)容。除了下面這點(diǎn)。在條件窗口中有兩個(gè)選項(xiàng):1. Is True2. Has Changed我們已經(jīng)看到”Is True“選項(xiàng)的用途了?!盚as Changed“用在當(dāng)你想在某些值變?yōu)槟承┨囟ㄖ档臅r(shí)候停住。3.4 導(dǎo)入/導(dǎo)出斷點(diǎn)(Import / Export Breakpoint)3.5 斷點(diǎn)命中計(jì)數(shù)(Breakpoint Hit Count)3.6 Breakpoint When Hit3.7 斷點(diǎn)篩選器(Breakpoint Filter)你可以限制斷點(diǎn)只對(duì)特定進(jìn)程或線(xiàn)程有效。這在進(jìn)行多線(xiàn)程程序的調(diào)試時(shí)非常有用。右擊斷點(diǎn)選”篩選器“即可打開(kāi)篩選器窗口。圖: 斷點(diǎn)篩選器(Breakpoint Filter)在篩選規(guī)則中,你可以設(shè)置進(jìn)程名,進(jìn)程Id,機(jī)器名,線(xiàn)程ID等。我會(huì)在多線(xiàn)程調(diào)試小節(jié)中詳述其用法。4 數(shù)據(jù)便簽(Data Tip)數(shù)據(jù)便簽是應(yīng)用程序調(diào)試期間用于查看對(duì)象和變量的一種高級(jí)便簽消息。當(dāng)調(diào)試器執(zhí)行到斷點(diǎn)時(shí),將鼠標(biāo)移到對(duì)象或者變量上方時(shí),你會(huì)看到它們的當(dāng)前值。你甚至可以看到一些復(fù)雜對(duì)象(如dataset,datatable等等)的細(xì)節(jié)。數(shù)據(jù)便簽左上角有一個(gè)“+”號(hào)用于展開(kāi)它的子對(duì)象或者值。圖: 調(diào)試時(shí)的數(shù)據(jù)便簽(DataTips During Debugging)幾個(gè)月前,我發(fā)過(guò)一篇關(guān)于VS 2010 DataTip Debugging Tips的文章。下面是一些在調(diào)試時(shí)有用的特性。4.1 Pin Inspect Value During Debugging4.2 Drag-Drop Pin Data Tip4.3 Adding Comments4.4 Last Session Debugging Value4.5 Import Export Data Tips4.6 Change Value Using Data Tips4.7 Clear Data Tips5 監(jiān)視窗口(Watch Windows)5.1 局部變量(Locals)列出當(dāng)前方法中的所有變量。當(dāng)調(diào)試器停在某特定斷點(diǎn)并打開(kāi)Autos窗口時(shí),將展示當(dāng)前范圍中與此值相關(guān)的變量。圖:Local Variables5.2 自動(dòng)窗口(Autos)這些變量由VS調(diào)試器在調(diào)試的時(shí)候自動(dòng)檢測(cè)。VS檢測(cè)與當(dāng)前語(yǔ)句相關(guān)的對(duì)象或變量,基于此列出Autos變量。Autos Variable的快捷鍵是Ctrl + D + A。圖:Autos - Ctrl + D, A5.3 監(jiān)視(Watch)Watch窗口用于添加變量。你可以添加任意多個(gè)變量。添加方法是,右擊變量并選擇“Add to Watch”。圖:Watch - Ctrl + D, W也可以使用拖放(Drag and Drop)將變量添加到監(jiān)視窗口中。從監(jiān)視窗口中刪除變量的方法是,右擊變量并選擇“Delete Watch”。通過(guò)調(diào)試窗口,也可以在運(yùn)行時(shí)編輯這些變量值。有4個(gè)可同時(shí)使用的監(jiān)視窗口。圖:多個(gè)監(jiān)視窗口若果變量中含有對(duì)象實(shí)例,左邊會(huì)有一個(gè)“+”號(hào)用于查看對(duì)象的屬性和成員。圖:展開(kāi)監(jiān)視變量5.3.1 Creating Object IDVisual Studio調(diào)試器提供另外一個(gè)強(qiáng)大的功能,支持我們?yōu)閷?duì)象的任何一個(gè)特定實(shí)例創(chuàng)建一個(gè)對(duì)象ID(object ID)。這可以用于在任何時(shí)間監(jiān)控任意對(duì)象,甚至是該對(duì)象位于范圍(scope)之外。在監(jiān)視窗口(watch window)右擊特定對(duì)象變量,再單擊“Make Object ID”即可創(chuàng)建Object ID。圖: 創(chuàng)建Object ID在對(duì)特定對(duì)象變量創(chuàng)建Object ID之后,Visual Studio會(huì)給這個(gè)對(duì)象添加一個(gè)數(shù)碼和“#”號(hào),用來(lái)表示。圖:添加Object ID后5.46 即時(shí)窗口(Immediate Window)即時(shí)窗口是開(kāi)發(fā)人員常用的功能。它可以在不改變當(dāng)前調(diào)試步驟的情況下修改變量值或者執(zhí)行一些語(yǔ)句。我們可以通過(guò)菜單調(diào)試 窗口 即時(shí)(Debug Window Immediate Window)打開(kāi)即時(shí)窗口。即時(shí)窗口支持一組命令,可在調(diào)試的任何時(shí)刻執(zhí)行。它也支持Intellisense。在調(diào)試期間,我們可以在即時(shí)窗口中執(zhí)行任何命令或者代碼語(yǔ)句。圖:基本即時(shí)窗口(Basic Immediate Window)這是對(duì)所有開(kāi)發(fā)人員來(lái)說(shuō)最為常用的特性,因此我就不一一介紹即時(shí)窗口的每一條命令了。7 調(diào)用堆棧(Call Stack)8 調(diào)試多線(xiàn)程程序(Debugging Multithreaded Program)8.1 Exploring Threads Window8.2 Flag Just My Code8.3 Break Point Filter - Multithread Debugging9 調(diào)試并行程序(Debugging Parallel Program)9.1 Parallel Task and Parallel Stacks10 Debugging with IntelliTrace10.1 Overview10.2 Mapping with IntelliTrace10.3 Filter IntelliTrace Data11 調(diào)試常用快捷鍵(Useful Shortcut Keys For VS Debugging)Shortcut KeysDescriptionsCtrl-Alt-V, ADisplays the Auto windowCtrl-Alt-BDisplays the Breakpoints dialogCtrl-Alt-CDisplays the Call StackCtrl-Shift-F9Clears all of the breakpoints in the projectCtrl-F9Enables or disables the breakpoint on the current line of codeCtrl-Alt-EDisplays the Exceptions dialogCtrl-Alt-IDisplays the Immediate windowCtrl-Alt-V, LDisplays the Locals windowCtrl-Alt-QDisplays the Quick Watch dialogCtrl-Shift-F5Terminates the current debugging session, rebuilds if necessary, and starts a new debugging session.Ctrl-F10Starts or resumes execution of your code and then halts execution when it reaches the selected statement.Ctrl-Shift-F10Sets the execution point to the line of code you chooseAlt-NUM *Highlights the next statementF5If not currently debugging, this runs the startup project or projects and attaches the debugger.Ctrl-F5Runs the code without invoking the debuggerF11Step IntoShift-F11Executes the remaining lines out from procedureF10Executes the next line of code but does not step into any function callsShift-F5Available in break and run modes, this terminates
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中介租憑合同范本
- 2025年河北女子職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)新版
- 2025年衡水健康科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)完整
- 2025年海南省安全員-C證考試(專(zhuān)職安全員)題庫(kù)附答案
- 水泥采購(gòu)合同簡(jiǎn)易合同范本
- 幼兒園端午節(jié)活動(dòng)策劃方案2021范文
- 機(jī)場(chǎng)茶館轉(zhuǎn)讓合同范本
- 讀后續(xù)寫(xiě)+Lily的藝術(shù)之路+講義 高三上學(xué)期入學(xué)考試英語(yǔ)試題
- 疾病預(yù)防策略的現(xiàn)代化發(fā)展
- 2025年河南工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)學(xué)生專(zhuān)用
- 張岱年:《中國(guó)文化概論》
- 繪本成語(yǔ)故事:四面楚歌
- HCIE-Transmission H12-931認(rèn)證培訓(xùn)考試題庫(kù)匯總(含答案)
- 造血細(xì)胞與基本檢驗(yàn)方法-細(xì)胞化學(xué)染色(血液學(xué)檢驗(yàn)課件)
- 領(lǐng)子的分類(lèi)詳解課件
- 產(chǎn)品質(zhì)量保證書(shū)
- 工廠員工消防安全培訓(xùn)內(nèi)容
- 調(diào)節(jié)與集合的相關(guān)性 相對(duì)調(diào)節(jié)和相對(duì)集合的關(guān)系
- 《金融工程》課程教案
- 水輪機(jī)結(jié)構(gòu)總體介紹
- 十八項(xiàng)護(hù)理核心制度培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論