-
-
[分享]Windows驱动开发初学者注意事项
-
2021-8-18 09:19
14271
-
最近给学弟他们分析一些蓝屏,代码蓝屏有共性,因代码的不规范引起的,简单总结了一下:
1) 平衡原则:
2) 大量的字符串尽量应用层处理 或者 转换成自定义的二进制数据内核做memcpy对比。
3) 很多场景应该对IRQL做判断,选择是否可以调用API,还是work或者apc等。
4) 涉及多线程数据处理,不要再函数内部直接处理。尽量上锁插入队列链表,起一个线程读取操作。
5) 不要抗拒使用Event,这并不麻烦,这几乎是最有利的方式。
6) 多打印日志,关键部分加入outdebug或者kbprint,设置日志级别。
推荐他们去看《C++并发编程实战第2版》(王高飞翻译版),他们觉着两者并没有关系。个人观点这是个误解,除非import库已经给你做好了接口,内部代码编写本质上不区分语言的,特别是队列设计,线程,锁事件等,设计模式它适用于全部工程性代码。
大佬们也有有对编程经验分享,可以评论区分享。
[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界
最后于 2021-8-18 15:33
被一半人生编辑
,原因: