使用 ProbeVue 调试 C++ 应用程序
2010-05-04 00:00:00 来源:WEB开发网清单 8 中的头文件包含要探查的函数和类的原型。注意,函数名 main 已经改为 dummy。其他代码不变。
清单 8. 头文件:class.h
#include<iostream.h>
using namespace std;
/* Declare function prototypes */
class space
{
int x;
public:
void func(int a, int b)
{
cout << "In space private func2 - int instance" << endl;
}
void func(char a, char b)
{
cout << "In space private func2 - char instance" << endl;
}
space()
{
x=22;
}
friend void spacefriend(space *);
template < class T >
T GetMul (T t2,T t3)
{
T result=0;
result=(T)t2*(T)t3;
return ((T)result);
}
};
void spacefriend(space *s)
{
cout << "I am space friend accessing x = " << s->x << endl;
}
void dummy()
{
space s;
s.func(2,10);
spacefriend(&s);
int x=3, rv;
float y=2.1, rv1;
rv=s.GetMul(x,x);
rv1=s.GetMul(y,y);
cout << " (int) Template return value = " << rv << endl;
cout << " (float) Template return value = " << rv1 << endl;
s.func('a','b');
}
限制
在使用 ProbeVue 时,有几个限制,包括:
不支持访问从虚拟基类继承的数据字段。
不支持模板类,不应该在 C++ 头文件中包含它们。但是,支持模板函数。
不支持成员的指针。
不能探查 C++ 函数的出口点。因此,不能获取函数的返回值。
结束语
在本文中,您学习了如何使用 ProbeVue 调试 C++ 应用程序。了解了用于探查 C++ 中几种函数类型的 Vue 语言语法、访问其参数的方法以及头文件的结构。还了解了编写 Vue 脚本时的几个限制。
更多精彩
赞助商链接