c++训练作业day1

1. 大家在自己的电脑把教室里的实操在做一遍: hello world 重新上传;

mkdir day1
cd day1
vim hello.cpp
#内容略

gcc -o hello hello.cpp
./hello
git init
git remote add origin https://……仓库地址
git add .
git config --global user.name "账号名"
git config --global user.email "邮箱@.com"
git commit -m "备注"
git push -u origin master


2. 提交一个触发coredump的函数,并提交core文件。

需要先写一个编译能通过但是执行会出错的函数。

刚开始做的时候发现生成不了core文件,遂查询,发现这篇文章为什么程序异常退出没有core文件?_没有生成core文件-CSDN博客是里面的第二种情况,需要修改大小同时调整文件位置,下面是查看的输出

# ubuntu2204 @ ubuntu2204-VirtualBox in ~/workspace/day1 on git:master x [19:38:23] 

$ ulimit -a

-t: cpu time (seconds)              unlimited

-f: file size (blocks)              unlimited

-d: data seg size (kbytes)          unlimited

-s: stack size (kbytes)             8192

-c: core file size (blocks)         unlimited

-m: resident set size (kbytes)      unlimited

-u: processes                       15327

-n: file descriptors                1024

-l: locked-in-memory size (kbytes)  500060

-v: address space (kbytes)          unlimited

-x: file locks                      unlimited

-i: pending signals                 15327

-q: bytes in POSIX msg queues       819200

-e: max nice                        0

-r: max rt priority                 0

-N 15:                              unlimited


# ubuntu2204 @ ubuntu2204-VirtualBox in ~/workspace/day1 on git:master x [19:41:20] C:1
$  cat /proc/sys/kernel/core_uses_pid
1

# ubuntu2204 @ ubuntu2204-VirtualBox in ~/workspace/day1 on git:master x [19:41:39] 
$ cat /proc/sys/kernel/core_pattern  
|/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E

以下是进行的操作 

ulimit -c unlimited

sudo bash -c "echo core>/proc/sys/kernel/core_pattern"

然后再次编译运行,终于可以在源文件处生成core了。
3. 提交gdb 调试coredump 的调用栈信息 bt.txt 。

gdb test core.5275

#进入gdb交互界面

(gdb) bt
##########################################
#可以查看,但是打印很麻烦,下面是直接打印语句
#解释:
#-q: 不打印gdb的版权消息
#--batch: 执行批处理,不进入交互模式
#--ex: 执行gdb 命令
#
#"set height 0": 不对输出进行分页
#"thread apply all bt full": 打印所有线程堆栈
##############################################
gdb -q --batch --ex "set height 0" -ex "thread apply all bt full" test core.5275>bt.txt

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值