• Redis进程异常退出排查

    使用strace命令跟踪进程行为:screen -S redis_trace_7000strace -T -tt -etrace=all-p`ps-ef|grepredis|grep7000|grep-v -i screen|grep-v grep|awk '{split;print a[2]}'`然后ctrl-a d退出screen使用gdb attach到redis进程同样建议使用独立的screen执行gdb,另外,gdb需要使用ptrace,如果发现ptrace: Operation not permitted的报错,需要关闭其他已经使用ptrace命令的进程,例如strace命令。value长度:值对象缩减比较复杂,常见需求是把业务对象序列化成二进制数组放入Redis。
  • 在 Linux 上分析二进制文件的 10 种方法 | Linux 中国

    Linux 提供了一套丰富的工具,让分析二进制文件变得轻而易举。无论你的工作角色是什么,如果你在 Linux 上工作,了解这些工具的基本知识将帮助你更好地理解你的系统。在这篇文章中,我们将介绍其中一些最流行的 Linux 工具和命令,其中大部分都是 Linux 发行版的一部分。$ file /bin/ls/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 , dynamically linked , for GNU/Linux 2.6.32, BuildID[sha1]=94943a89d17e9d373b2794dcb1f7e38c95b66c86, stripped$$ file /etc/passwd/etc/passwd: ASCII text$ldd它的作用:打印共享对象依赖关系。对动态链接的二进制文件运行该命令会显示出所有依赖库和它们的路径。
  • 尝试产生缓冲区溢出,使堆栈完全混乱

    经过数小时的调试后,我希望能在StackOverflow上找到一些帮助。 我目前正在接受PTP培训,由于我只使用Linux,因此我也想在本地计算机上练习第一个Labs。 我要做的是通过缓冲区溢出利用一个非常简单的程序。只是给出了来源: goodpwd.cpp: #include <iostream> #include <cstring> int bf_overflow(char *str){ char buffer[10]; //our buffer strcp...
公告

欢迎访问 goshare  点击这里设置您的邮箱  可以接收站内跟帖、回复邮件提醒,不错过任何一条消息。

关注公众号订阅更多技术干货! 码农俱乐部