应用调试与内核开发全解析
在软件开发过程中,调试应用程序和开发内核是至关重要的环节。下面将详细介绍应用调试的方法以及内核开发的相关内容。
应用调试
远程调试
完成页面操作后,点击“Apply”,接着点击“Debug”,Eclipse 会快速建立连接并默认切换到调试视角。远程调试与本地调试相似,若仔细观察调用栈(如图 10 - 8 中高亮行上方两行),能看到 IP 地址和端口号,这表明 Eclipse 正在远程调试该类。调试复杂 Java 应用与调试小示例类本质相同,控制调试会话时发送给 Java VM 的参数一致,只是类路径和初始类不同。
插桩调试
插桩调试是一种在资源有限的机器上非常有效的调试方法。其操作简单,只需在代码中添加打印语句,运行程序并观察结果。很多目标机器可能没有足够资源运行像 gdbserver 这样的小调试程序,此时插桩调试就很有用。它还能用于查找间歇性出现的错误或解决与时间相关的问题,因为交互式调试可能会影响程序结果。
不过,插桩调试也有缺点。代码中包含的调试语句在生产版本中需要移除,但没有像移除调试符号那样的“strip”命令来移除调试打印语句。因此,许多 QA 部门在移除插桩代码后会重新测试代码,因为这需要重新构建软件。此外,可能会误写有副作用的插桩代码,例如:
printf("value of a=%u\n", a++); // changes the value of a!
移除这段代码可能会影响程序的运行。
在 C 语言中,由于预处理器的存在,插桩调试很
超级会员免费看
订阅专栏 解锁全文
1477

被折叠的 条评论
为什么被折叠?



