社区
VxWorks
帖子详情
tornado 下如何Debug 调试C++程序
xuzi_fan
2011-12-19 05:52:04
在tornado下建了一个C++的downloadable工程,编译链接通过了,但是download目标文件的时候显示找不到符号,
已经在targetserver 中配置了符号表同步了 ,
请问各位大侠有木有知道怎么办的,十分感谢
...全文
357
7
打赏
收藏
tornado 下如何Debug 调试C++程序
在tornado下建了一个C++的downloadable工程,编译链接通过了,但是download目标文件的时候显示找不到符号, 已经在targetserver 中配置了符号表同步了 , 请问各位大侠有木有知道怎么办的,十分感谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
把具体情况贴出来,我们来分析
转:第00课 VxWorks和
Tornado
第00课 VxWorks和
Tornado
作者:siliu 日期2007.08.31-2007.09.01如有错误,敬请指正。如有疑问,欢迎交流。 前言: 想当初面试完后,夏老板让我回去多看看VxWorks的书,结果被我听成BxWorks,硬是翻遍了青山新华书店也没找到BxWorks。心想,果然是高科技啊,这么大的书店都没卖的。最后还是在嵌入式专柜找到了一本
Tornado
2.0开发环境实战指南:VxWorks嵌入式系统高效编程
Tornado
2.0采用主机-目标机(Host-Target)分离式架构,通过统一的图形化界面整合编辑、编译、
调试
与部署流程。其核心由四大模块构成:集成源码编辑器支持语法高亮与智能补全;项目管理器以工程为单位组织BSP、内核配置与用户代码;交叉编译工具链基于GCC定制,适配多种处理器架构;
调试
引擎通过WDB(Wind
Debug
Agent)经TCP/IP或串口与目标机通信,实现断点设置、内存查看与任务级
调试
。常见故障及应对策略:问题现象可能原因。
描述Tornaod和VxWorks及其相互关系。
VxWorks: VxWorks 是美国风河公司(Wind River System)推出的一种嵌入式实时操作系统。它具有可伸缩、可裁剪及高可靠性等的特点,因此广泛的应用于通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。VxWorks包括一个微内核、强大的网络支持、文件系统、 I/O系统和
C++
支持的各种模块,并支持超过320家合作伙伴公司的第三方产品。 Tor
文章结构概述
本文以医疗诊疗为喻,生动解析
程序
调试
过程。将各类报错类比为"病症":语法型"感冒"、环境"过敏"、逻辑型"心血管疾病"。详细介绍诊断工具链,从基础的日志分析到高级的动态检测工具,并分享"重启服务"等实用偏方。最后提出预防指南,包括单元测试、知识库建设等系统性方案,强调
调试
能力是开发者核心技能。文章采用趣味化表达,使枯燥的
调试
过程变得形象易懂。
Java微服务如何拆解订单补偿任务中心
标题:Java微服务如何拆解订单补偿任务中心 内容概要:围绕核心链路、并发控制、异常补偿与可观测性建设,说明Java微服务如何拆解订单补偿任务中心的关键实现重点。 24直播网:chuanpu-sh.com 24直播网:m.csjt97.com 24直播网:kanchashejigongsi.com 24直播网:0571xnhr.com 24直播网:m.senwanghb.com
VxWorks
2,187
社区成员
2,913
社区内容
发帖
与我相关
我的任务
VxWorks
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
复制链接
扫一扫
分享
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章