WEB开发网
开发学院操作系统Linux/Unix 使用 ProbeVue 调试 C++ 应用程序 阅读

使用 ProbeVue 调试 C++ 应用程序

 2010-05-04 00:00:00 来源:WEB开发网   
核心提示: 清单 5. 访问参数的 Vue 脚本格式##C++#include"headerfile.h"##Vuestructspaces1;@@uftxlc++:PID:*:"space::spacefriend(space*,char*)":entry{Stri


清单 5. 访问参数的 Vue 脚本格式

##C++ 
#include "headerfile.h" 
##Vue 
struct space s1; 
@@uftxlc++:PID:*:"space::spacefriend(space *, char *)":entry 
{ 
    String st[100]; 
    printf("Probing spacefriend\n"); 
    copy_userdata(__arg2, s1);   # accessing argument space * here 
    printf("Argument s1.x = %d\n",s1.x); 
    copy_userdata(__arg3,st); # accessing argument char * here 
    printf(" Argument 2 of function spacefriend %s",st); 
} 

注意,在访问类成员函数的参数时,实际的参数编号从 2 而不是从 1 开始。在 ProbeVue 中,在访问类成员函数时,__arg1 引用 C++ 的 “this” 指针。因此,在清单 5 中 space * 参数是 __arg2,char * 是 __arg3。按照与 C 结构相同的方式对待 C++ 类,所以在 Vue 脚本中像访问其他结构那样访问它。

对于非类函数的参数,编号从 __arg1 开始。对于类成员函数,从 __arg2 开始。

头文件

要想访问函数的参数,需要向 ProbeVue 提供函数原型,让它知道参数的数据类型。可以在头文件中定义函数原型。本节解释如何编写头文件以及如何在 Vue 脚本中包含它。

编写头文件

正如前面提到的,头文件包含希望探查并访问其参数的函数的原型。在理想情况下,头文件应该包含所有类定义、成员函数和变量。因此,头文件应该包含函数的原型和一个虚拟的函数定义。还必须把函数名 main 改为其他独特的函数名。在 清单 8 中,main 已经改为 dummy。main 函数中的所有其他语句应该保持原状。可以使用以下 Vue 脚本语法包含头文件:

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:使用 ProbeVue 调试

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接