tornado 下如何Debug 调试C++程序

xuzi_fan 2011-12-19 05:52:04
在tornado下建了一个C++的downloadable工程,编译链接通过了,但是download目标文件的时候显示找不到符号,
已经在targetserver 中配置了符号表同步了 ,
请问各位大侠有木有知道怎么办的,十分感谢
...全文
301 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzi_fan 2011-12-21
  • 打赏
  • 举报
回复
vxworks里有对C++的支持,不知道目标程序要怎么添加对C++的支持,,,求指教。。
seth0001 2011-12-20
  • 打赏
  • 举报
回复
系统没有添加对C++的支持?
xuzi_fan 2011-12-20
  • 打赏
  • 举报
回复
已经试过了,包含了 stdlib.h 也不行
baoxintc520 2011-12-20
  • 打赏
  • 举报
回复
#include<stdlib.h>
xuzi_fan 2011-12-19
  • 打赏
  • 举报
回复

我觉得应该是tornado的配置的问题,可是不知道还应该配置哪里,在网上搜了一些东西,
贴出来大家给帮忙分析一下吧


5.2.3 编译C++应用程序
Tornado项目工具(project tool)完全支持C++.配置和编译C++程序推荐使用项目工具。下面的信息对于理解C++环境是有用的。除非有特殊原因而使用人工方法,否则应该使用在《Tornado User's Guide: Projects》中说明的方法。
关于GNU编译器和相关工具的细节,参见《GNU ToolKit User's Guide》。
当使用GNU编译器编译C++模块时,在每个带有C++后缀(如.cpp)的源文件上调用ccarch(正像对C源码).在VxWorks环境中编译C++程序包括如下步骤:
1.每个C++源码文件被编译成目标代码,就像C程序一样。举例编译一个68K目标:
cc68k -fno-builtin -I$WIND_BASE/target/h -nostdinc -O2 \
-DCPU=MC68040 -c foo.cpp
cc68k -fno-builtin -I$WIND_BASE/target/h -nostdinc -O2 \
-DCPU=MC68040 -c bar.cpp
2.目标代码被munch(参见Munching C++ Application Modules).在我们的例子中:
nm68k foo.o bar.o | wtxtcl $WIND_BASE/host/src/hutils/munch.tcl \
-asm 68k > ctdt.c
cc68k -c ctdt.c
3.目标代码和已编译的munch输出连接在一起。(对于可下载的应用程序,它们可使用参数-r局部的(partially)连接在一起;对于可启动的应用程序,它们可静态的与VxWorks BSP连接在一起。)如果使用GNU工具,如下可从编译器驱动中调用连接器:
cc68k -r ctdt.o foo.o bar.o -o linkedObjs.o
这里连接两个目标模块,foo.o和bar.o,生成可下载的目标代码,linkedObjs.o。如果使用选项-frepo,则使用ccarch而不是ldarch来实例化模板。(参见5.2.7 Template Instantiation)

注意:如果使用Wind River System makefile来构造应用程序,munching是通过make来执行。

小心:在连接步骤中,-r用来制定局部连接。一个局部的连接文件仍然是可重定位的,也适合使用VxWorks模块加载器来下载和连接。《GNU ToolKit User's Guide: Using ld》中描述的选项-Ur是为了解析涉及到的C++构造函数。这个选项用于本地开发(native development),而不是交*开发(cross-development).VxWorks的C++模块不使用选项-Ur。

(可是看了老半天,也没看懂)
xuzi_fan 2011-12-19
  • 打赏
  • 举报
回复
我主要就是想实验一下tornado 对C++的debug调试是如何操作的,写了一段非常简单的代码,如下:

#include <stdio.h>
#include <iostream.h>

class A
{
public:
virtual void test1(){};
};

class B :public A
{
public:
void test1();
};

void B:: test1()
{
int i=15;
while(i--);
cout<<"hello"<<endl;
}

void test2()
{
B b;
b.test1();
}
夫人的泡泡鱼 2011-12-19
  • 打赏
  • 举报
回复
把具体情况贴出来,我们来分析

2,184

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧