记录gdb调试某一应用并执行不同命令

gdb调试某应用,可以直接使用sudo gdb /usr/local/bin/git,可以使用run方法执行特殊指令,比如run checkout -f HEAD

详情执行如下:

sudo gdb /usr/local/bin/git
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-92.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/git...(no debugging symbols found)...done.
(gdb) run checkout -f HEAD
Starting program: /usr/local/bin/git checkout -f HEAD
[Thread debugging using libthread_db enabled]
fatal: BUG: your vsnprintf is broken (returned -1)

Program exited with code 0200.
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.209.el6_9.1.x86_64 zlib-1.2.3-29.el6.x86_64
(gdb) bt

修为

很多年前,我在看清末民初的历史时,非常轻视当时的一些读书人,因为我觉得他们很多人都是走八股文考科举的套路,脱离生产实践,可谓百无一用,后来渐渐发现,并不完全是这样

即使是在清末民初那个中国最颓丧的时代,一些传统知识分子也是很厉害的,因为学什么知识写什么文章都是其次,最重要的是儒家给读书人提出了一套自我完善的要求,让人不断地自我反省和修炼,以正言行强心智,只要人的自我修为到了,做其他的事情也是事半功倍的

Read more

解决Go文件在eclipse中执行报Executable file doesnt exist 问题

Go文件执行的时候报Executable file doesnt exist,但是如果你按照项目名称搜索的时候,比如我的项目名为main,那么我搜索main.exe,会发现其并没有在项目空间下的bin目录,而是在Go的bin目录下,eclipse会去项目空间下的bin目录中找,结果就导致此报错。

##解决方案
将GOBIN这个环境变量删掉~ 在命令行中go env查看go的环境变量,是否有设置GOBIN这个环境变量,如果有设置,那么将其删掉,并且重启,go env查看是否生效。

解决Mac下check gdb is codesigned – see taskgated(8)问题

刚刚安装的GDB调试的时候会报

Starting program: /Users/wangxinguo/C/DataStruct/3/a.out
Unable to find Mach task port for process-id 5222: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

这是因为没有特殊授权的情况下不允许gdb调试任何程序,所以可以按照如下过程解决
Read more

明星大侦探之又冲不上的云霄

最近看了部综艺《明星大侦探》,角色扮演探案类的综艺,不正经中又透露着一点正经的味道,这期的主题是:又冲不上的云霄。案情是一次飞机失事,撞上了摆渡车,让小撒来调查事故原因后发现甄机长死亡来展开。
Read more

chrome safari在Mac下强制刷新

在Windows中Ctrl+F5强制刷新已经深入人心了,那么Mac下如何操作呢?

  • 常规刷新Command+R
  • 强制刷新Command+Shift+R

针对Safari版本低于9的情况,可以使用Command+Shift+E