VS2010Profiler性能剖析_第1頁(yè)
VS2010Profiler性能剖析_第2頁(yè)
VS2010Profiler性能剖析_第3頁(yè)
VS2010Profiler性能剖析_第4頁(yè)
VS2010Profiler性能剖析_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、作者:童 滿前提 性能剖析能可以協(xié)助程序員快速鎖定當(dāng)前程序的性能瓶頸,為程序的優(yōu)化做準(zhǔn)備2大綱 收集性能數(shù)據(jù) 使用不同性能方法的效果圖 了解分析工具中的檢測(cè)數(shù)據(jù)值 了解分析工具中的采樣數(shù)據(jù)值 查看性能數(shù)據(jù) 分析應(yīng)用程序3收集性能數(shù)據(jù)4Step1:打開(kāi)Visual Studio,并點(diǎn)擊菜單欄的“分析(analyze)”5Step2:點(diǎn)擊“啟動(dòng)性能測(cè)試向?qū)?Lanuch Performance Wizard)”6Step3:在性能測(cè)試向?qū)?Performance Wizard)頁(yè)面選擇”CPU Sampling(recommended)”該嚮導(dǎo)提供了四種方式來(lái)測(cè)試應(yīng)用程序的性能 采樣(sampli

2、ng)收集有關(guān)由應(yīng)用程序執(zhí)行的工作的數(shù)據(jù)。檢測(cè)(Instumentation)收集有關(guān)每個(gè)函數(shù)調(diào)用的詳細(xì)計(jì)時(shí)信息。并發(fā)(Concurrency)收集有關(guān)多線程應(yīng)用程序的詳細(xì)信息。.NET 內(nèi)存(.NetMemory)收集有關(guān) .NET 內(nèi)存分配和垃圾回收的詳細(xì)信息。78采樣采樣是 Microsoft Visual Studio 高級(jí)專(zhuān)業(yè)版分析工具的默認(rèn)方法。 此方法對(duì)于以下情況十分有用: 應(yīng)用程序性能的初步研究。 調(diào)查涉及處理器 (CPU) 使用率的性能問(wèn)題。 檢測(cè)檢測(cè) 檢測(cè)分析方法將收集已分析應(yīng)用程序中函數(shù)調(diào)用的詳細(xì)計(jì)時(shí)信息。 檢測(cè)分析對(duì)于以下情況十分有用: 調(diào)查輸入/輸出瓶頸,如磁盤(pán) I/

3、O。 特定模塊或函數(shù)集的詳細(xì)檢查。 并發(fā)并發(fā) 并發(fā)可視化還收集有關(guān)以下方面的更多常規(guī)信息多線程應(yīng)用程序如何與自身、硬件、操作系統(tǒng)和主機(jī)計(jì)算機(jī)上的其他進(jìn)程進(jìn)行交互: 資源爭(zhēng)用報(bào)告將顯示爭(zhēng)用的總次數(shù),以及發(fā)生等待的模塊、函數(shù)、源代碼行和指令等待資源所用的總時(shí)間。 時(shí)間線圖也會(huì)在發(fā)生爭(zhēng)用時(shí)顯示爭(zhēng)用。 并發(fā)可視化工具將顯示圖形信息,用于查找性能瓶頸、CPU 利用率不足、線程爭(zhēng)用、線程遷移、同步延遲、I/O 重疊區(qū)域和其他信息。 如果可能,圖形輸出將鏈接到調(diào)用堆棧和源代碼數(shù)據(jù)。 只能收集命令行和 Windows 應(yīng)用程序的并發(fā)可視化數(shù)據(jù)。 .NET 內(nèi)存分配內(nèi)存分配 .NET 內(nèi)存分配分析方法在被分析的

4、應(yīng)用程序中每次分配 .NET Framework 對(duì)象時(shí)都中斷計(jì)算機(jī)處理器。 同時(shí)收集對(duì)象生存期數(shù)據(jù)時(shí),探查器會(huì)在每次 .NET Framework 垃圾回收后中斷處理器。 探查器將收集有關(guān)分配中所創(chuàng)建或垃圾回收中所銷(xiāo)毀的對(duì)象的類(lèi)型、大小和數(shù)量的信息。 Step4:在向?qū)У诙?yè),需要選擇目標(biāo)程序來(lái)做性能分析,一般提供三種a.當(dāng)前在VS中開(kāi)啟的工程b.硬盤(pán)上的EXE可執(zhí)行文件或JavaScript程序的URL。在後續(xù)的頁(yè)面,使用默認(rèn)設(shè)置的選項(xiàng)做完設(shè)置9Step4:在向?qū)У诙?yè),需要選擇目標(biāo)程序來(lái)做性能分析,一般提供三種a.當(dāng)前在VS中開(kāi)啟的工程b.硬盤(pán)上的EXE可執(zhí)行文件或JavaScript程

5、序的URL。在後續(xù)的頁(yè)面,使用默認(rèn)設(shè)置的選項(xiàng)做完設(shè)置10為打開(kāi)的項(xiàng)目創(chuàng)建性能會(huì)話在“工具”菜單上指向“性能工具”,然后單擊“性能向?qū)А薄T凇耙治鲆韵履男┛捎媚繕?biāo)?”下拉列表中,選擇要分析的應(yīng)用程序的名稱(chēng),然后單擊“下一步”。選擇“取樣”或“檢測(cè)”以指定分析方法,然后單擊“下一步”。 單擊“完成”。在不打開(kāi)項(xiàng)目時(shí)創(chuàng)建性能會(huì)話啟動(dòng) Visual Studio。在“工具”菜單上指向“性能工具”,然后單擊“性能向?qū)А?。在“可用目?biāo)”下拉列表中,選擇適當(dāng)?shù)哪繕?biāo)(EXE、DLL、ASP.NET),然后單擊“下一步”。指定目標(biāo)的完整路徑和選項(xiàng),或者將運(yùn)行應(yīng)用程序的本地 URL,然后單擊“下一步”。選擇“取

6、樣”或“檢測(cè)”以指定分析方法,然后單擊“下一步”。單擊“完成”。11Step5:設(shè)置完成后,在Performance Explorer窗體可以看到如下信息Report目錄下存儲(chǔ)生成的報(bào)表文件Targets目錄下是添加進(jìn)來(lái)的需要測(cè)試的程序12啟動(dòng)待測(cè)試的程序,即啟動(dòng)Targets目錄下的程序打開(kāi)性能測(cè)試向?qū)?Performance Wizard)在現(xiàn)有的性能測(cè)試基礎(chǔ)上新建一個(gè)性能測(cè)試會(huì)話使用不同性能方法的效果圖13Cpu Sampling(采樣)14Instumentation(檢測(cè))15.Net Memory Allocation(Sampling)16Concurrency(幷發(fā))17了解分

7、析工具中的檢測(cè)數(shù)據(jù)值18“已用非獨(dú)占”值:執(zhí)行函數(shù)及其子函數(shù)所用的總時(shí)間。 “已用非獨(dú)占”值包括直接執(zhí)行函數(shù)代碼所用的間隔和執(zhí)行目標(biāo)函數(shù)的子函數(shù)所用的間隔。 函數(shù)或其子函數(shù)的間隔(包含等待操作系統(tǒng)的間隔)也包括在“已用非獨(dú)占”值中。 “已用獨(dú)占”值 :執(zhí)行函數(shù)所用的時(shí)間,不包括子函數(shù)所用的時(shí)間。 “已用獨(dú)占”值包括直接執(zhí)行函數(shù)代碼所用的間隔,而不考慮該間隔中是否發(fā)生操作系統(tǒng)事件。 目標(biāo)函數(shù)調(diào)用的子函數(shù)所用的全部間隔都沒(méi)有包括在“已用獨(dú)占”值中。 “應(yīng)用程序非獨(dú)占”值 :執(zhí)行函數(shù)及其子函數(shù)所用的時(shí)間,不包括操作系統(tǒng)事件所用的時(shí)間。 “應(yīng)用程序非獨(dú)占”值不包括包含操作系統(tǒng)事件的間隔。 “應(yīng)用程序非

8、獨(dú)占”值包括執(zhí)行函數(shù)所用的其他所有間隔,無(wú)論該間隔是直接執(zhí)行函數(shù)代碼所用的間隔還是目標(biāo)函數(shù)的子函數(shù)所用的間隔。 “應(yīng)用程序獨(dú)占”值 :執(zhí)行函數(shù)所用的時(shí)間,不包括子函數(shù)所用的時(shí)間和操作系統(tǒng)事件所用的時(shí)間。 “應(yīng)用程序獨(dú)占”值不包括包含操作系統(tǒng)事件的間隔或執(zhí)行該函數(shù)調(diào)用的函數(shù)所用的間隔。 “應(yīng)用程序獨(dú)占”值僅包括直接執(zhí)行函數(shù)代碼所用的間隔和不包含操作系統(tǒng)事件的間隔。 已用非獨(dú)占百分比 :函數(shù)、模塊、線程或進(jìn)程的“已用非獨(dú)占”值占分析會(huì)話的“已用非獨(dú)占”總值的百分比。 100 * 函數(shù)已用非獨(dú)占/會(huì)話已用非獨(dú)占 已用獨(dú)占百分比 :函數(shù)、模塊、線程或進(jìn)程的“已用獨(dú)占”值占分析會(huì)話的“已用非獨(dú)占”總值的

9、百分比。 100 * 函數(shù)已用獨(dú)占/會(huì)話已用非獨(dú)占 應(yīng)用程序非獨(dú)占百分比 :函數(shù)、模塊、線程或進(jìn)程的“應(yīng)用程序非獨(dú)占”值占分析會(huì)話的“應(yīng)用程序非獨(dú)占”總值的百分比。 100 * 函數(shù)應(yīng)用程序非獨(dú)占/會(huì)話應(yīng)用程序非獨(dú)占 應(yīng)用程序獨(dú)占百分比 :函數(shù)、模塊、線程或進(jìn)程的“應(yīng)用程序獨(dú)占”間隔占分析會(huì)話的“應(yīng)用程序非獨(dú)占”總值的百分比。 100 * 函數(shù)應(yīng)用程序獨(dú)占/會(huì)話應(yīng)用程序非獨(dú)占 19了解分析工具中的采樣數(shù)據(jù)值20非獨(dú)占樣本數(shù):執(zhí)行目標(biāo)函數(shù)期間收集的樣本總數(shù)。 這包括直接執(zhí)行函數(shù)代碼期間收集的樣本和執(zhí)行目標(biāo)函數(shù)調(diào)用的子函數(shù)期間收集的樣本。 獨(dú)占樣本數(shù) :直接執(zhí)行目標(biāo)函數(shù)的指令期間收集的樣本數(shù)。 獨(dú)

10、占樣本不包括執(zhí)行目標(biāo)函數(shù)調(diào)用的函數(shù)期間收集的樣本。 非獨(dú)占百分比 :函數(shù)或數(shù)據(jù)范圍的非獨(dú)占樣本占分析運(yùn)行中非獨(dú)占樣本總數(shù)的百分比。 獨(dú)占百分比 :函數(shù)或數(shù)據(jù)范圍的獨(dú)占樣本占分析運(yùn)行中獨(dú)占樣本總數(shù)的百分比。21查看性能數(shù)據(jù)22性能報(bào)告有六種視圖,默認(rèn)情況下為:摘要(Summary)視圖“摘要” (Summary)視圖默認(rèn)情況,性能報(bào)告以摘要視圖顯示。描述“摘要”視圖并解釋在取樣模式和檢測(cè)模式中收集的數(shù)據(jù)“調(diào)用方/被調(diào)用方”(Caller/Callee)視圖 描述“調(diào)用方/被調(diào)用方”視圖并列出在取樣模式和檢測(cè)模式中收集的數(shù)據(jù)?!罢{(diào)用關(guān)系樹(shù)”(Call Tree)視圖 描述“調(diào)用關(guān)系樹(shù)”視圖并列出在

11、取樣模式和檢測(cè)模式中收集的數(shù)據(jù)。數(shù)據(jù)“進(jìn)程”(Processes)視圖描述“進(jìn)程”視圖。本視圖顯示分析期間執(zhí)行的進(jìn)程并提供每個(gè)進(jìn)程的性能數(shù)據(jù)。2324“模塊”(Modules)視圖 描述“模塊”視圖。本視圖列出項(xiàng)目中的模塊并顯示每個(gè)模塊的性能數(shù)據(jù)?!昂瘮?shù)”(Functions)視圖 描述“函數(shù)”視圖并列出在取樣模式和檢測(cè)模式中收集的數(shù)據(jù)?!靶小?Lines)視圖 描述“行”視圖。本視圖顯示取樣分析期間執(zhí)行的特定行。“指令指針”(IPs) 視圖 描述“指令指針”視圖。本視圖顯示取樣分析期間收集的有關(guān)執(zhí)行指令的數(shù)據(jù)?!皹?biāo)記”(Marks)視圖 描述“標(biāo)記”視圖并列出分析標(biāo)記收集的數(shù)據(jù)。摘要(Sum

12、mary)視圖 此視圖根據(jù)分析方法的性能指標(biāo),提供一個(gè)時(shí)間線圖,以及最占系統(tǒng)資源的函數(shù)或?qū)ο蟮膬蓚€(gè)或多個(gè)列表。 該視圖中的數(shù)據(jù)取決于所用的分析方法(采樣、檢測(cè)或并發(fā))以及是否收集 .NET 內(nèi)存分配。(PS:不同的測(cè)試性能的方法,摘要視圖顯示的內(nèi)容也是不一樣的。其它視圖也是如此,所以下麵會(huì)針對(duì)不同視圖的不同錄製方法所呈現(xiàn)的報(bào)表內(nèi)容做詳細(xì)的說(shuō)明) 摘要(Summary)視圖 -(檢測(cè)器采樣數(shù)據(jù))26顯示有關(guān)分析運(yùn)行期間性能代價(jià)最高的函數(shù)的信息27顯示被分析的應(yīng)用程序在進(jìn)行分析的這段時(shí)間內(nèi)的處理器 (CPU) 使用率。如果在圖表上指定一個(gè)時(shí)間段,則您可以重新分析該段的數(shù)據(jù)或?qū)r(shí)間線顯示縮放到指定的

13、時(shí)間段 時(shí)間線圖-Cpu(使用百分比)-按選定內(nèi)容篩選-按選定內(nèi)容縮放-縮放重置-縮小28“熱路徑”顯示應(yīng)用程序調(diào)用樹(shù)中具有最高非獨(dú)占樣本的分支。 它是收集數(shù)據(jù)時(shí)最活躍的執(zhí)行路徑。高非獨(dú)佔(zhàn)值表示可以優(yōu)化生成調(diào)用樹(shù)的算命單擊函數(shù)可以顯示函數(shù)的“函數(shù)詳細(xì)信息”視圖函數(shù)顯示列表說(shuō)明Function Name:函數(shù)名Inclusive Samples%(非獨(dú)佔(zhàn)樣本百分比):此函數(shù)或此函數(shù)調(diào)用的函數(shù)在執(zhí)行時(shí)產(chǎn)生的所有樣本數(shù)的百分比(高非獨(dú)占計(jì)數(shù)指向整體消耗資源最多的函數(shù)。 )Exclusive Samples%(獨(dú)佔(zhàn)樣本百分比):函數(shù)在執(zhí)行函數(shù)體內(nèi)的代碼時(shí)產(chǎn)生的所有樣本數(shù)的百分比。 不包括此函數(shù)調(diào)用的各

14、個(gè)函數(shù)中收集的樣本。 (高獨(dú)占計(jì)數(shù)可能表示函數(shù)本身存在性能瓶頸) ) 熱路徑29顯示分析運(yùn)行期間具有最大數(shù)量的獨(dú)占樣本的函數(shù)。 如果在收集樣本時(shí)函數(shù)正在執(zhí)行其自己的代碼,則向該函數(shù)分配獨(dú)占樣本。 如果在收集樣本時(shí)函數(shù)正在調(diào)用另一個(gè)函數(shù),則不向該函數(shù)分配獨(dú)占樣本。 大量獨(dú)占樣本表示函數(shù)自身使用了大量時(shí)間函數(shù)顯示列表說(shuō)明Name:函數(shù)名Exclusive Samples%(獨(dú)占樣本百分比):函數(shù)執(zhí)行其函數(shù)體內(nèi)的代碼時(shí)收集的樣本數(shù)占分析運(yùn)行期間所有樣本數(shù)的百分比。 執(zhí)行此函數(shù)所調(diào)用的函數(shù)時(shí)收集的獨(dú)占樣本數(shù)的百分比。 。 執(zhí)行單個(gè)工作最多的函數(shù)摘要(Summary)視圖 -(檢測(cè)器檢測(cè)數(shù)據(jù))30顯示關(guān)

15、分析運(yùn)行期間性能代價(jià)最高的函數(shù)的信息(時(shí)間線同上,這裡不再描述)31顯示用時(shí)最多的執(zhí)行路徑。單擊函數(shù)可以顯示函數(shù)的“函數(shù)詳細(xì)信息”視圖函數(shù)顯示列表說(shuō)明Function Name:函數(shù)名Elapsed Inclusive Time%(已用非獨(dú)佔(zhàn)時(shí)間百分比):函數(shù)執(zhí)行其函數(shù)體內(nèi)及其所調(diào)用的函數(shù)內(nèi)的代碼所用時(shí)間占分析數(shù)據(jù)所用總時(shí)間的百分比Elapsed Exclusive Time %(已用獨(dú)佔(zhàn)時(shí)間百分比):函數(shù)執(zhí)行其函數(shù)體內(nèi)的代碼所用時(shí)間占分析數(shù)據(jù)所用總時(shí)間的百分比。 不包括函數(shù)所調(diào)用的函數(shù)所用的時(shí)間。 熱路徑32顯示大部分時(shí)間執(zhí)行函數(shù)體內(nèi)的代碼而非其所調(diào)用函數(shù)內(nèi)的代碼的函數(shù)的列表函數(shù)顯示列表說(shuō)明

16、Name:函數(shù)名Exclusive Time%(獨(dú)佔(zhàn)時(shí)間百分比):函數(shù)執(zhí)行其函數(shù)體內(nèi)的代碼所用時(shí)間占分析數(shù)據(jù)所用總時(shí)間的百分比。 不包括函數(shù)所調(diào)用的函數(shù)所用的時(shí)間。 大部份時(shí)間單獨(dú)工作的函數(shù)摘要(Summary)視圖 -(檢測(cè)器.Net內(nèi)存數(shù)據(jù))33顯示有關(guān)分配了最多內(nèi)存的 .NET 函數(shù)和類(lèi)型以及分析運(yùn)行期間大多數(shù)時(shí)間所創(chuàng)建的類(lèi)型的信息34顯示被分析的應(yīng)用程序在進(jìn)行分析的這段時(shí)間內(nèi)的處理器 (CPU) 使用率可以使用時(shí)間線圖篩選所選時(shí)間跨度的視圖 時(shí)間線圖35列出在分析運(yùn)行期間分配了最大字節(jié)數(shù)內(nèi)存的函數(shù)函數(shù)顯示列表說(shuō)明Name:函數(shù)名Bytes%(字節(jié)數(shù)百分比):在分析運(yùn)行期間分配的,此函數(shù)

17、或其調(diào)用的子函數(shù)所分配的所有字節(jié)數(shù)的百分比分配最多內(nèi)存的函數(shù) 36列出分析運(yùn)行期間為其分配了最大字節(jié)數(shù)的內(nèi)存的類(lèi)型函數(shù)顯示列表說(shuō)明Name:類(lèi)型名Bytes%(字節(jié)數(shù)百分比):為此類(lèi)型分配的字節(jié)數(shù)占分析運(yùn)行期間全部所分配字節(jié)數(shù)的百分比。內(nèi)存分配最多的類(lèi)型 37列出在分析運(yùn)行期間創(chuàng)建次數(shù)最多的類(lèi)型函數(shù)顯示列表說(shuō)明Name:類(lèi)型名Instances%(實(shí)例數(shù)百分比):此類(lèi)型的實(shí)例占分析運(yùn)行期間創(chuàng)建的 .NET 對(duì)象總數(shù)的百分比實(shí)例最多的類(lèi)型 調(diào)用樹(shù)(Call Tree)視圖 此視圖顯示遍歷所分析的應(yīng)用程序的函數(shù)執(zhí)行路徑。 關(guān)系樹(shù)的根是應(yīng)用程序或組件的入口點(diǎn)。 每個(gè)函數(shù)節(jié)點(diǎn)都列出它調(diào)用的所有函數(shù)以及

18、有關(guān)這些函數(shù)調(diào)用的性能數(shù)據(jù)調(diào)用樹(shù)(Call Tree)視圖 -(檢測(cè)器采樣數(shù)據(jù))39突出顯示執(zhí)行熱路徑突出顯示執(zhí)行熱路徑 “調(diào)用樹(shù)”視圖還可以展開(kāi)和突出顯示被采樣頻率最高的進(jìn)程或函數(shù)的執(zhí)行路徑。 若要顯示最活躍的路徑,請(qǐng)右擊進(jìn)程或函數(shù),然后單擊“展開(kāi)熱路徑展開(kāi)熱路徑”。40若要設(shè)置“調(diào)用樹(shù)”視圖的開(kāi)始節(jié)點(diǎn),請(qǐng)右擊要設(shè)置為開(kāi)始節(jié)點(diǎn)的節(jié)點(diǎn),選擇“設(shè)置根”。 設(shè)置根節(jié)點(diǎn)后,將消除視圖中除所選節(jié)點(diǎn)的子樹(shù)之外的所有其他項(xiàng)。 若要將根節(jié)點(diǎn)重置為原始節(jié)點(diǎn),請(qǐng)右擊“調(diào)用樹(shù)”視圖窗口,然后選擇“重置根” 設(shè)置調(diào)用關(guān)係樹(shù)根節(jié)點(diǎn)41 “調(diào)用樹(shù)”視圖欄位說(shuō)明列 說(shuō)明 進(jìn)程 ID (Process ID)分析運(yùn)行的進(jìn)程

19、 ID (PID)。 進(jìn)程名 (Process Name)進(jìn)程的名稱(chēng)。 模塊名 (Module Name)函數(shù)所在模塊的名稱(chēng)。 模塊路徑 (Module Path)函數(shù)所在模塊的路徑。 源文件 (Source File)包含函數(shù)定義的源文件。 函數(shù)名 (Function Name)函數(shù)的完全限定名。 函數(shù)行號(hào) (Function Line Number)函數(shù)在源文件中的起始行號(hào)。 函數(shù)地址 (Function Address)函數(shù)的地址。 級(jí)別 ()此函數(shù)在調(diào)用樹(shù)中的深度。 僅用于 VSPerfReport 命令行報(bào)告。 獨(dú)占樣本數(shù)(Exclusive Samples)調(diào)用樹(shù)中的父函數(shù)調(diào)用此函

20、數(shù)時(shí)此函數(shù)收集的樣本數(shù)。 此數(shù)目不包括函數(shù)所調(diào)用的各個(gè)函數(shù)中收集的樣本。 獨(dú)占樣本數(shù) %(Exclusive Samples%)調(diào)用樹(shù)中父函數(shù)調(diào)用此函數(shù)時(shí)此函數(shù)的獨(dú)占樣本數(shù)占分析運(yùn)行期間所有樣本數(shù)的百分比。 非獨(dú)占樣本數(shù) (Inclusive Samples)調(diào)用樹(shù)中的父函數(shù)調(diào)用此函數(shù)時(shí)此函數(shù)收集的樣本數(shù)。 此數(shù)目包括函數(shù)所調(diào)用的各個(gè)函數(shù)中收集的樣本。 非獨(dú)占樣本數(shù)百分比 (Inclusive Samples%)調(diào)用樹(shù)中父函數(shù)調(diào)用此函數(shù)時(shí)此函數(shù)的非獨(dú)占樣本數(shù)占分析運(yùn)行期間所有樣本數(shù)的百分比。 42非獨(dú)占分配數(shù) % 在分析運(yùn)行期間創(chuàng)建的,此函數(shù)的所有非獨(dú)占分配對(duì)象數(shù)的百分比。 獨(dú)占分配 調(diào)用關(guān)系樹(shù)中父函數(shù)調(diào)用的此函數(shù)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論