最近参加了一个项目,因为是做C的,原本以为是使用gcc和gdb来作为编译和调试的工具。结果未曾想,开发环境上居然只允许使用cc编译器,没用过啊。。参数都不知道,没办法,查资料。。啥文的都有,可是苦了俺了。自己忘性大,还是做下纪录,以备后查。
CC编译器:
开发调试常用参数:
-g 输出带有调试信息的编译结果
-c 编译文件,但是不做连接(link)操作,默认生成与.c文件同名的.o文件
-l 指定要是用的lib名称,如libsocket.so则为 -lsocket
-I 指定要去寻找include头文件的路径,可以复数指定。
-G 用来指定生成共享库文件
-o 用来指定生成的文件名
-m64 Sun Studio 12开始使用的参数,代替-xarch=v9。通常与-xarch=sparc一起使用
-xcode=[V] 指定程序的ABI空间地址的生成方式。在做成shared library时须指定,Sun默认为-xcode=abs44,不能用这个参数来生成64位shared library。
参照资料:
http://docs.sun.com/app/docs/doc/820-1209/bjatt?l=ja&a=view
http://docs.sun.com/app/docs/doc/819-0389/advanced?l=ja
http://primeserver.fujitsu.com/unix/soft/opt/oemss12/
例:
cc -g -c a.c -lsocket -lnsl
cc -G b.c -o b.so ./a.o
cc -g a.c -I../include/
dbx调试用工具:
dbx 待调试可执行文件
(dbx) 命令行
print 打印指定变量或者表达式的值
run 执行程序
runargs 指定程序执行的参数。例如命令行上要用 ./prog 10 20作为启动命令的话,则使用(dbx) runargs 10 20进行启动
watch 监视某个变量的值,在每次stop后会自动显示出来
stop at 用于指定断点,主要是某行的断点。比如 stop at a.c:30 的含义是停止于a.c程序的第30行
stop in 用于指定断点,主要是针对函数名称。比如 stop in doSum 的含义是一旦doSum方法被调用,则停止
step 步进
step up 完成当前函数,并且停止到调用函数的下一行。
cont 继续执行。(continue)
check 指定rtc检查内容
-all 指定为全部
-leaks 指定为内存泄漏,访问异常等
-memuse 指定为监视内存使用
showleaks 显示内存泄漏等异常信息
showmemuse 显示内存的使用量
用rtc来进行调试等操作时,可以在dbx的帮助下,看到是否有内存没有声明就被访问,是否有越界访问等等信息。
分享到:
相关推荐
使用 dbx 调试程序 Sun™ Studio 11 dbx的命令學習大全及使用方法
DBX详细的使用指南,版权属于SUN. 主要是针对unix系统下的程序调试使用的工具。
调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx.调试dbx....
Sco-Unix调试工具dbx使用方法 Sco-Unix调试工具dbx使用方法
Sun Studio : 使用dbx 调试程序
使用dbx调试程序
dbx 命令行调试器是一种交叉源码级调试工具。《使用 dbx 调试程序》适用于希望使用dbx 命令调试应用程序的编程人员。
DBX调试器的使用DBX调试器的使用DBX调试器的使用
dbx中文手册,带书签 交互式源代码级命令行调试工具
轻松调试程序,程序员必备技巧,pdf格式
1. dbx 入门35 2. 启动 dbx 47 3. 自定义 dbx 61 4. 查看和导航到代码69 5. 控制程序执行87 6. 设置断点和跟踪95 ...11. 调试多线程应用程序165 12. 调试子进程171 13. 调试 OpenMP 程序173 略
sqldbx使用说明
sun-dbx命令祥解,大家一起来学学,共同进步
DBX程序调试
gdb和dbx命令.rar gdb为HP,dbx 为sun,ibm调试工具,Unix环境必备
DBX使用手册中文版
DBX260480处理器调试软件
oracle官方文档,能够帮助大家快速的入门 介绍的非常详细