VC补遗之Profile篇.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
VC 补遗之 Profile 篇 Profile 的作用 ---------------- Profile 是一个功能强大且实用的工具,帮助开发者分析并发现程序运行的瓶颈,找到耗时所在,同时也能帮助开发者发现不会被执行的代码。从而最终实现程序的优化。 Profile 的组成 ---------------- Profile 由三个命令行工具组成:PREP、PROFILE、PLIST。可以以命令行方式运行 Profile,其过程是:PREP 读取应用程序的可执行文件并生成一个 .PBI 文件和一个 .PBT 文件;PROFILE 根据 .PBI 文件,实际运行并分析程序,生成 .PBO 输出文件;PREP 再根据 .PBO 文件和 .PBT 文件,生成新的 .PBT 文件;PLIST 根据 .PBT 文件生成可阅读的输出。 Profile 的具体功能 ------------------- ### Function timing Function timing 是 Profile 的一个重要功能,对程序花费在执行特定函数上的时间进行评估。可以通过 Profile 对话框激活该功能。分析结果中,Func Time 一栏以秒为单位记录了函数运行所花时间,下一栏显示了该函数时间占总运行时间的百分比;Func+Child Time 栏记录了函数及其所调用的子函数运行所花的总时间,下一栏显示了前述时间占总运行时间的百分比;Hit Count 栏记录函数被调用的次数;Function 栏显示函数的名称。 ### Function coverage Function coverage 记录特定函数是否被调用,可以用来确定代码中的未执行部分。可以通过 Profile 对话框激活该功能。分析结果列出所有被分析的函数,并使用*号标记执行过的函数。 ### Function counting Function counting 记录程序调用特定函数的次数。在 Profile 对话框中选择 Custom,并在 Custome Settings 中指定 fcount.bat(位于 VC98\bin 目录下)。需要注意的是,在指定 fcount.bat 所在目录时,最好不要用长文件名的方式,这样有可能出错。 ### Line counting Line counting 记录程序所执行的代码中特定行的次数。在 Profile 对话框中选择 Custom,并在 Custome Settings 中指定 lcount.bat(位于 VC98\bin 目录下)。该功能使用 .EXE 中的调试信息启动 Profile,因此不需要 .MAP 文件。分析结果中,Line 栏标示源代码的行号,Hit Count 栏记录该行执行次数,下一栏显示了该行执行次数占所有代码行执行次数的百分比,Source Line 显示了对应的源代码。 ### Line coverage Line coverage 记录代码中的特定行是否被执行,可以用来确定代码中的未执行部分。可以通过 Profile 对话框激活该功能。分析结果列出所有被分析的代码行,并使用*号标记执行过的行。由于 Line coverage 只记录代码行是否被执行过,所以其执行开销要比 Line counting 小。 Profile 的使用 ---------------- 在 IDE 环境下使用 Profile 需要按照以下步骤进行: 对于涉及函数分析的功能选择 Project->Settings->Link,选择 Enable profiling 复选框重建项目选择 Build->Profile,弹出 Profile 对话框做必要设置后,选择 OK,开始运行程序。 对于涉及行分析的功能选择 Project->Settings->Link,选择 Enable profiling 复选框和 Generate debug info 复选框选择 Project->Settings->C/C++,选择 Line Numbers Only 重建项目选择 Build->Profile,弹出 Profile 对话框做必要设置后,选择 OK,开始运行程序。 配置 Profile 的三种方式 ------------------------- ### 修改 profiler.ini 文件 profiler.ini 文件位于 VC98\bin 目录下,在其 [profiler] 段中,可以指定不参与分析的 LIB 文件或 OBJ 文件。比如: [profiler] exclude:user32.lib exclude:gdi32.lib 通过配置 profiler.ini 文件,可以控制 Profile 的行为,例如排除某些库文件或对象文件的分析。
剩余11页未读,继续阅读
- 粉丝: 0
- 资源: 5万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助