Android系统Java层通过打印excption查看堆栈信息

本文介绍了如何在Android系统的Java层通过添加Log输出,来查看和捕获异常时的完整堆栈信息,从而便于调试和问题定位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前我们有时会通过阅读代码查看某个函数从下到上的调用信息,也有时bug中会多出来一个操作,不知道这个操作是由哪里发出来的。
 
基于以上这些问题,我们可以通过打印excption查看堆栈信息。具体操作如下:
 
比如有个客户bug,在通话中按下键后,通话突然挂断了。这种问题一看就是客户改出来的,我们又不能通过log很好的看到到底哪里触发的disconnectCall。这种情况下就可以使用这种方法快速定位:
 
[环境]:本测试基于android4.4,其他版本也均适用。
[步骤]:本地测试,通话中,点击挂断按键,处罚到incallui的disconnectCall。
[目的]:我们假定不知道disconnectCall是从哪里触发的。只能从Log中看到有"disconnect Call:"的相关信息输出。见下面红色的部分。
 
packages/apps/InCallUI/src/com/android/incallui/CallCommandClient.java

public void disconnectCall(int callId)  { 
    Log.i(this, "disconnect Call: " + callId); 
    if (mCommandService == null) {
        Log.e(this, "C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值