之前我们有时会通过阅读代码查看某个函数从下到上的调用信息,也有时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