当前位置: 首页 > news >正文

优质公司网站如何用h5自己做网站

优质公司网站,如何用h5自己做网站,新手如何免费建网,宁波网络推广推荐GDB调试命令大全 启动运行设置/查看断点(breakpoint)设置/查看观察点(watchpoint)设置/查看捕捉点(catchpoint)维护停止点维护条件停止点停止点设置运行命令断点菜单恢复程序运行和单步调试信号产生信号量线程 转载自#xff1a; https://www.cnblogs.com/gqtcgq/p/7511974.h… GDB调试命令大全 启动运行设置/查看断点(breakpoint)设置/查看观察点(watchpoint)设置/查看捕捉点(catchpoint)维护停止点维护条件停止点停止点设置运行命令断点菜单恢复程序运行和单步调试信号产生信号量线程 转载自 https://www.cnblogs.com/gqtcgq/p/7511974.html 启动 $ gdb program # program是你的可执行文件一般在当前目录$ gdb program core # gdb同时调试运行程序和core文件core是程序非法执行产生的文件$ gdb program pid# 如果你的程序是一个服务程序那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去并调试他。program应该在PATH环境变量中搜索得到。运行 (gdb) r/run # 开始运行程序(gdb) c/continue # 继续运行(gdb) n/next # 下一行不进入函数调用(gdb) s/step # 下一行进入函数调用(gdb) ni/si # 吓一跳指令ni和si区别同上(gdb) fini/finish # 继续运行至函数退出/当前栈帧(gdb) u/util # 继续运行至某一行在循环中u可以实现运行至循环刚刚退出但这取决于循环的实现(gdb) set args # 设置程序启动参数如set args 10 20 30(gdb) show args # 查看程序启动参数(gdb) path dir # 设置程序的运行路径(gdb) show paths # 查看程序的运行路径(gdb) set env nameval# 设置环境变量如set env USERchen(gdb) show env [name] # 查看环境变量(gdb) cd dir # 相当于shell的cd命令(gdb) pwd # 显示当前所在目录(gdb) shell commond # 执行shell命令设置/查看断点(breakpoint) (gdb) b/break linenum/func # 在第 linenum 行或 function 处停住(gdb) b/break /-offset # 在当前行号后/前offset行停住(gdb) b/break filename:linenum # 在源文件filename的linenum行停住(gdb) b/break filename:func # 在源文件的function入口停住(gdb) b/break *address # 在内存地址address处停住(gdb) b/break # 没有参数表示下一跳指令处停住(gdb) b/break if condition # 条件成立是停住如在循环中break if i100(gdb) info break [n] # 查看断点 n表示断点号设置/查看观察点(watchpoint) 观察点一搬来观察某个表达式或变量的值是否有变化了有程序停住 (gdb) watch expr # 观察值是否有变化(gdb) rwatch expr # 当expr被读取时停住(gdb) awatch expr # 当expr被读取或写入时停住(gdb) info watchpoints # 查看所有观察点设置/查看捕捉点(catchpoint) 你可设置捕捉点来补捉程序运行时的一些事件。如载入共享库动态链接库或是C的异常。 (gdb) tcatch event # 只设置一次捕捉点(gdb) catch event # 当event发生时停住程序如下# throw 一个c抛出的异常throw为关键字# catch 一个C捕捉到的异常catch为关键字# exec 调用系统调用exec时只在HP-UX下有用# fork 调用系统调用fork时只在HP-UX下有用# vfork 调用系统调用vfork时只在HP-UX下有用# load [file] 载入共享库动态链接库时只在HP-UX下有用# unload [libname] 卸载共享库动态链接库时只在HP-UX下有用维护停止点 上面说了三种如何设置停止点的方法。在gdb中如果你觉得已经定义好的停止点没有用那么你可以delete、clear、disable、enable进行维护 (gdb) clear # 清除所有已定义的停止点。如果程序运行清除当前行之后的(gdb) clear fuction # 清除所有设置在函数上的停止点(gdb) clear file:line # 清除所有设置在指定行上的停止点(gdb) d/delete [n]/[m-n] # 删除断点号不设置则删除全部也可以范围m-n比删除更好的一种方法是disable停止点disable了的停止点GDB不会删除当你还需要时enable即可就好像回收站一样。 (gdb) disable [n]/[m-n] # disable指定断点号n不指定则disable所有也可以范围m-n(gdb) enable [n]/[m-n] # enable断点n也可以范围m-n(gdb) enable once [n]/[m-n] # enable断点n一次程序停止后自动disable也可以范围m-n(gdb) enable delete [n]/[m-n] # enable断点程序结束自动删除也可以范围m-n维护条件停止点 前面说到设置breakpoint可以设置成一个条件这里列出相关的维护命令 (gdb) condition bunm expr # 修改断掉号bnum的停止条件(gdb) condition bnum # 清除断点号bnum的停止条件ignore 可以指定程序运行时忽略停止条件几次 (gdb) ignore bnum count # 忽略断点号hnum的停止条件count次停止点设置运行命令 当程序停住时我们可以通过command设置其自动执行的命令这很利于自动化调试。 (gdb) commands [bnum] ... commands list ... end # 这里为断点号bnum设置一个命令列表例如 (gdb) break foo if x0(gdb) commands printf x is %dn,x continue end断点设置在函数foo中断点条件是x0如果程序被断住后也就是一旦x的值在foo函数中大于0GDB会自动打印出x的值并继续运行程序。 如果你要清除断点上的命令序列那么只要简单的执行一下commands命令并直接在打个end就行了。断点菜单 如果你使用c有可能下断点时遇到相同名字的函数gdb会为你列出该函数菜单供你选择。 例如 (gdb) b String::after[0] cancel[1] all[2] file:String.cc; line number:867[3] file:String.cc; line number:860[4] file:String.cc; line number:875[5] file:String.cc; line number:853[6] file:String.cc; line number:846[7] file 2 4 6Breakpoint 1 at 0xb26c: file String.cc, line 867.Breakpoint 2 at 0xb344: file String.cc, line 875.Breakpoint 3 at 0xafcc: file String.cc, line 846.恢复程序运行和单步调试 当程序被停住了你可以用c/continue恢复运行或下一个断点到来。也可以使用step或next命令单步跟踪程序。 (gdb) c/continue [ignore-count] # 恢复程序运行ignore-count忽略后面断点数单步跟踪如果有函数调用他会进入该函数。进入函数的前提是此函数被编译有debug信息。很像VC等工具中的stepin。后面可以加count也可以不加不加表示一条条地执行加表示执行后面的count条指令然后再停住。 (gdb) step count打开step-mode模式于是在进行单步跟踪时程序不会因为没有debug信息而不停住。这个参数有很利于查看机器码。 (gdb) set step-mode on当你厌倦了在一个循环体内单步跟踪时这个命令可以运行程序直到退出循环体。 (gdb) u/until单步跟踪一条机器指令一条程序代码有可能由数条机器指令完成stepi和nexti可以单步执行机器指令。与之一样有相同功能的命令是“display/i $pc” 当运行完这个命令后单步跟踪会在打出程序代码的同时打出机器指令也就是汇编代码 (gdb) si/stepi(gdb) ni/stepi信号 信号是一种软中断是一种处理异步事件的方法。一般来说操作系统都支持许多信号。尤其是UNIX比较重要应用程序一般都会处理信号。UNIX定义了许多信号比如SIGINT表示中断字符信号也就是CtrlC的信号SIGBUS表示硬件故障的信号SIGCHLD表示子进程状态改变信号SIGKILL表示终止程序运行的信号等等。信号量编程是UNIX下非常重要的一种技术。GDB有能力在你调试程序的时候处理任何一种信号你可以告诉GDB需要处理哪一种信号。你可以要求GDB收到你所指定的信号时马上停住正在运行的程序以供你进行调试。你可以用GDB的handle命令来完成这一功能。 (gdb) handle signal keywords...在GDB中定义一个信号处理。信号可以以SIG开头或不以SIG开头可以用定义一个要处理信号的范围如SIGIO-SIGKILL表示处理从SIGIO信号到SIGKILL的信号其中包括SIGIOSIGIOTSIGKILL三个信号也可以使用关键字all来标明要处理所有的信号。一旦被调试的程序接收到信号运行程序马上会被GDB停住以供调试。其可以是以下几种关键字的一个或多个。 nostop # 当被调试的程序收到信号时GDB不会停住程序的运行但会打出消息告诉你收到这种信号。stop # 当被调试的程序收到信号时GDB会停住你的程序。print # 当被调试的程序收到信号时GDB会显示出一条信息。noprint # 当被调试的程序收到信号时GDB不会告诉你收到信号的信息。pass/noignore # 当被调试的程序收到信号时GDB不处理信号。这表示GDB会把这个信号交给被调试程序会处理。nopass/ignore # 当被调试的程序收到信号时GDB不会让被调试程序来处理这个信号。查看有哪些信号在被GDB检测中。 (gdb) info signals(gdb) info handle产生信号量 使用singal命令可以产生一个信号量给被调试的程序。如中断信号CtrlC。这非常方便于程序的调试可以在程序运行的任意位置设置断点并在该断点用GDB产生一个信号量这种精确地在某处产生信号非常有利程序的调试。语法是 (gdb) signal singalUNIX的系统信号量通常从1到15。所以取值也在这个范围。 single命令和shell的kill命令不同系统的kill命令发信号给被调试程序时是由GDB截获的而single命令所发出一信号则是直接发给被调试程序的。 线程 当你的程序时多线程的你可以定义断点是否在所有线程或某个线程 (gdb) info threads # 查看线程(gdb) break line thread threadno # 指定源程序line行线程threadno停住(gdb) break line thread threadno if... # 指定源程序line行线程threadno停住跟上条件例如 (gdb) break frik.c:13 thread 28 if bartab lim
http://www.zqtcl.cn/news/593088/

相关文章:

  • 网站加速代码百度浏览器app
  • 关于配色的网站企业宣传册文案范文
  • 免费推广网站教程湖南中核建设工程公司官方网站
  • 莱阳网站建设公司彩票类网站是如何做代理的
  • 食品公司网站建设广州做网站制作公司
  • 网站上传服务器教程搜索网站存在的关键字
  • 天河建设网站多少钱网络公司网站样本
  • 做的精美的门户网站推荐附近编程培训机构
  • 台州黄岩做网站太原网站建设王道下拉惠
  • 深圳设计网站公司互联网服务平台投诉中心
  • 做seo网站优化哪家强济南网站建设公司排名
  • tp5网站文档归档怎么做手机虚拟机哪个好用
  • 网站建设公司的业务范围万网做网站多少钱
  • 做网站要用写接口6wordpress 汽车租赁
  • 网站开发方向paypal账号注册
  • 如何选择做pc端网站重庆平台网站建设企业
  • 一个人做网站好累电子商城采购流程
  • 网站制作维护价格信息网站建设方案
  • 如何选择建网站公司能看人与动物做的网站
  • 温州网站建设方案外包不能访问子目录的网站
  • 建设拼多多一样网站需要多少钱wordpress企业站主题免费
  • 无锡网站制作哪家公司好做微信文章的网站
  • 网站 制作信产部网站备案
  • 做流程图表的网站网络营销推广网站收录
  • iis5.1怎么新建网站电子商务网站建设与管理实训内容答案
  • 做网站背景步骤知名的vi设计公司
  • 中国室内设计师联盟网站我注册过的网站
  • 如何给自己的公司做网站网站设计电商首页
  • 成都网站开发培训综合网站开发实训总结
  • 个人备案网站名称文学网站开发