zoukankan      html  css  js  c++  java
  • unix/linux 环境软件调试笔记

    员工培训 ppt 内容

    静态代码跟踪

    正则表达式简介
    函数定义
    find . "*.h"
    查找函数声明 ^\sclass::function\(

    使用“在文件中查找”功能
    find . -name
    转到某一行

    括号匹配

    代码分析:

    1、代码折叠
    2、变量查找与替换 左值和右值
    3、代码比较

    ulteredit
    其它的工具;
    editplus:
    优点: 1、可以免费使用 2、ftp 打开、保存文件快
    缺点: 1、ftp 功能对某些 unix 系统支持不好。
           2、不支持函数列表功能。
    source inside
    优点:支持函数跳转
    缺点:查找速度极慢

    程序调试:

    常用的 shell命令

    ps 命令
    ps -ef |grep


    正则表达式简介

    代码跟踪

    grep 命令

    使用示例:

    find 命令

    nm 命令

    使用示例:

    ld: 0711-317 ERROR: Undefined symbol: .CInvoice::disposeInvoice(int*,const TAcctFund*,int,int,long,int,int)
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    Stop.

    /lntest/src/bill$find . -name "*.o" -exec nm -u -O -X 64 {} \; | grep disposeInvoice
    nm: ./Acctant/gactantpar.o: 0654-203 Specify an XCOFF object module.
    nm: ./Acctant/mactantcmt.o: 0654-203 Specify an XCOFF object module.
    nm: ./Acctant/matantbcmt.o: 0654-203 Specify an XCOFF object module.
    nm: ./Acctant/mgetactant.o: 0654-203 Specify an XCOFF object module.
    ./Pay/CBillBase.o: .CInvoice::disposeInvoice(int*,const TAcctFund*,int,int,long,int,int) U           -
    ./Pay/CBillNewFund.o: .CInvoice::disposeInvoice(int*,const TAcctFund*,int,int,long,int,int) U           -
    ./Pay/mechannelprt.o: .CInvoice::disposeInvoice(int*,const TAcctFund*,int,int,long,int) U           -
    ./Pay/mdrawcmt.o: .CInvoice::disposeInvoice(int*,const TAcctFund*,int,int,long,int,int) U           -
    ./Pay/mprninv.o: .CInvoice::disposeInvoice(int*,const TAcctFund*,int,int,long,int,int) U           -
    nm: ./common/DynLib.o: 0654-203 Specify an XCOFF object module.
    nm: ./common/PtrArray_t.o: 0654-203 Specify an XCOFF object module.
    nm: ./common/Thread.o: 0654-203 Specify an XCOFF object module.
    /lntest/src/bill$

    ar 命令

    环境查看

    env

    ipcs/ipcrm

    ps - report a snapshot of the current processes.

    常用命令

    grep -n "texttofind" */*.cpp

    find . -name "*.cpp" -exec grep  -l "texttofind" {} \;

    find . -name "*.cpp" -exec grep  -n "texttofind" {} \;

    -l 打印所在行

    -n 打印文件名

    查看目标文件中所有未定义的符号

     find . -name "*.o" -exec nm -u -O -X 64 {} \;

    -O 表示打印文件名

    -X 指明是 64bit 的目标文件

    ulimit -c 1024

    dbx filename core

    stopi

    catch

    正则表达式

     静态调试

    编译器宏

    __FILE__ 

    __LINE__

    -g

    -DDEBUG

    参考资料:

         1  正则表达式教程

          2 proc sql

  • 相关阅读:
    左眼右眼
    Mac 的“任务管理器” —— 活动监视器
    [分享] VIM 常用命令及游戏练级
    iOS 7 如何关闭已打开的应用(App)
    iPhone 如何设置彩信 ?
    JavaScript —— attachEvent 方法的使用
    习惯&感恩
    MySQL 基础 备份和恢复
    Python 数据结构 树
    Python 正在表达式
  • 原文地址:https://www.cnblogs.com/diylab/p/1642077.html
Copyright © 2011-2022 走看看