how to use gdb on centos machine

  • 以这个程序为例

 

  • 编译 ,注意要带  -g  , 因为是c++ ,所以用 g++, c程序用 gcc

 

  • 启动gdb

 

  • 流程控制

break line number :  在某行下断点   ,centos 显示行号   ctrl + c

run    执行

next 执行一步

c : 执行到完

break

  • gdb 带参数执行 :

来源 : https://stackoverflow.com/questions/6121094/how-do-i-run-a-program-with-commandline-arguments-using-gdb-within-a-bash-script

 

  • 参考文章

http://www.math.bas.bg/~nkirov/2005/netb151/debugging-with-gdb.html

http://kirste.userpage.fu-berlin.de/chemnet/use/info/gdb/gdb_6.html

My local centos settings

  • MYSQL

root Piercing77#

  • user and pwd

liuyang     liuyang.2345

 

  • JDK

jdk cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64

 

  • 用 wireshark trace :

tshark -i wlp2s0 -w out1.pcap
蓝色部分 是当前正在使用的 internet interface , 可以由这样决定
/sbin/ifconfig -a , 从图中可以看到

 

  • For supervisor , log in /var/log/supervisord.log
更改 supervisord.conf 以后 , 要
sudo supervisorctl reread
sudo supervisorctl update

 

  • yum install vim
  • 安装后 配置文件在 etc/vimrc
  • 检查是否已安装 ctags : yum list *ctags*
发现 ctags.i686 已经存在于 installed packages

 

线性与非线性

 

1. 线性linear,指量与量之间按比例、成直线的关系,在数学上可以理解为一阶导数为常数的函数;
   非线性non-linear则指不按比例、不成直线的关系,一阶导数不为常数。
2. 线性的可以认为是1次曲线,比如y=ax+b ,即成一条直线
   非线性的可以认为是2次以上的曲线,比如y=ax^2+bx+c,(x^2是x的2次方),即不为直线的即可
3. 两个变量之间的关系是一次函数关系的——图象是直线,这样的两个变量之间的关系就是“线性关系”;
   如果不是一次函数关系的——图象不是直线,就是“非线性关系
4. “线性”与“非线性”,常用于区别函数y = f (x)对自变量x的依赖关系。线性函数即一次函数,其图像为一条直线。其它函数则为非线性函数,其图像不是直线。
  线性,指量与量之间按比例、成直线的关系,在空间和时间上代表规则和光滑的运动;而非线性则指不按比例、不成直线的关系,代表不规则的运动和突变。
  比如,普通的电阻是线性元件,电阻R两端的电压U,与流过的电流I,呈线性关系,即R=U/I,R是一个定数。二极管的正向特性,就是一个典型的非线性关系,二极管两端的电压u,与流过的电流i不是一个固定的比值,即二极管的正向电阻值,是随不同的工作点(u、i)而不同的。
5. 在数学上,线性关系是指自变量x与因变量yo之间可以表示成y=ax+b ,(a,b为常数),即说x与y之间成线性关系。

不能表示成y=ax+b ,(a,b为常数),即非线性关系,非线性关系可以是二次,三次等函数关系,也可能是没有关系。

 

 

travel

2018.12.18   办签证 ,预计元旦后取

亚航可以普吉到, 曼谷回吗 

马来西亚转机要签证吗

需要的软件 :  Google翻译 ,map,打车软件 (Grab,用泰国手机号注册)

要买: 手机卡(happy卡)  3张 ,  70.6

1 泰铢= 2毛钱

  • 行程 :

大象 , 泰拳 , 岛,spa , 射击

 

  • 关键字

phi phi island  :   皮皮岛

patong beach  : 巴东海滩

phuket town night market   : 普吉镇夜市  周六日

ferry schedule : 渡轮船期

Rassada pier : 拉沙达码头

: 查龙码头

去普吉需要注意的:  带笔,飞机上写出入境卡 ,出境卡放护照里,回来还要用

熊猫巴士巴东站在 best western 酒店停车场 , 终点是 普吉镇 central phuket

2019年1月去时, 汇率是 4.57 ,不要在机场换钱

tutu车巴东境内200,去卡伦400

let ‘s relax 不需预约

 

 

 

 

Telco Bridge cli tools analyze

  • Most important is :  CliContext , look at the code  (in TB640\tb2.8.63\src\libraries\tbxclitools\tbx_cli_tools_private.h)

 

this struct include another import struct TBX_CLI_TOOLS_INIT_PARAMS

 

  • initialize in function “TBX_RESULT TbxCliToolsInit ”  in  file “tbx_cli_tools.c”

other modules first include “tbx_cli.h”  and “tbx_cli_tools.h” ,   then  initial TBX_CLI_TOOLS_INIT_PARAMS  ,  then  call TbxCliToolsInit  to  init cli tools

One example is  tb_watchdog.c 

  • How to switch display buffer

create a command lin update thread   :  TbxCliToolsCliThread   in  file “tbx_cli_tools.c”

in this thread , switch buffer like this code show

 

the thread is created in function  “TbxCliToolsStart”    in  file “tbx_cli_tools.c”

in this thread ,  call “TBXCliToolsLine_fprintf”   ——->  “TBXCli_fprintf”  to actually print on the screen

  • TbxCliToolsStart is supply for invoke by out of lib

 

  • 各文件分析:

tbx_cli.c  :  全是函数, 比如清屏,cursor移动到最开始的位置等

tbx_cli_tools.c :

最重要的函数是 : TbxCliToolsCliThread , 这是一个线程函数, 不停的在双缓存之间切换

 

  • 常用函数

TBXCliHome  : 设置 cursor位置回点 (0,0)

  • 光标位置

TbxCliToolsCliUserPromptDisplay

  • 如何响应键盘事件

已解决

 

  • 如何改变提示文本,并让用户选择yes no

CmdInput

CmdType