当我的应用程序崩溃时,我会收到调用堆栈的报告,如下所示:
Caused by: java.lang.NullPointerException
at com.app.reader.services.receivers.MediaPlayStopReceiver.onReceive(MediaPlayStopReceiver.java:16)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:2601)
at android.app.ActivityThread.access$1700(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1407)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:193)
但是,由于我每天都在积极开发代码更改,因此此调用堆栈可能无法反映当前状态。如何使用git查找代码在调用堆栈中显示的提交?
答案 0 :(得分:0)
如果您不知道所使用的代码的哪个版本,您可以使用git gui blame <path-to-MediaPlayStopReceiver>
并手动检查每个父提交,以查找对第16行所做的更改以及是否可能导致NPE(或使用支持文件历史记录浏览的IDE
如果您可以重现该问题,可以运行git bisect
来查找引入问题的提交。