如何在 Linux 上通过 C API 判断给定的 fd 的类型?

2018-06-05
阅读 3 分钟
5k
最近接到一个任务,需要判断传过来的 fd 是不是属于 eventfd/signalfd 这一类特定的 fd。因为这一类 fd 不支持某些操作,如果调用时不加判断,会报 Invalid Argument 错误。按理说,如果能把 fd 类型作为一个额外的参数传进来,就能轻松解决问题了。不过因为一些限制,拿到手时只有 fd 这一个整数。好在需要过滤的地方不...

排查一个潜在的内存访问问题 -- 用 C 写代码的日常

2018-01-30
阅读 3 分钟
4.4k
最近几个月,我开始涉足 C 开发的领域,遇到的最大的挑战在于如何管理好内存。从异常情况下避免内存泄漏,到排查代码逻辑里面的 invalid read,还有复用过程中没能清理好数据的问题,几乎各种坑都体验过一次。

GDB 自动化操作的技术

2016-05-28
阅读 5 分钟
18.3k
程序员在调试时往往分成两派,一派用debugger另一派用print。至于本人嘛,是一个“机会主义者”,有时用print,有时却改投debugger阵营。