如何查找具有特定代码结构的修订

时间:2015-08-19 07:48:55

标签: git

当我的应用程序崩溃时,我会收到调用堆栈的报告,如下所示:

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查找代码在调用堆栈中显示的提交?

1 个答案:

答案 0 :(得分:0)

如果您不知道所使用的代码的哪个版本,您可以使用git gui blame <path-to-MediaPlayStopReceiver>并手动检查每个父提交,以查找对第16行所做的更改以及是否可能导致NPE(或使用支持文件历史记录浏览的IDE

如果您可以重现该问题,可以运行git bisect来查找引入问题的提交。

相关问题