实际崩溃中的函数参数与核心转储之间存在差异

时间:2016-12-14 13:26:37

标签: c++ linux gdb coredump

我正在使用gdb调查WITH RECURSIVE integers(n) AS ( SELECT @min UNION SELECT n + 1 FROM integers WHERE n < @max ) SELECT n FROM integers 。这是附加到正在运行的进程崩溃的gdb所见的最后一个堆栈框架:

public static void opneFacebookProfile(Activity activity, String id) {
        Intent facebookIntent = new Intent(Intent.ACTION_VIEW);
        String facebookUrl = getFacebookPageURL(activity, id);
        facebookIntent.setData(Uri.parse(facebookUrl));
        activity.startActivity(facebookIntent);
    }

此时,我使用SIGSEGV保存了状态。当我用gdb检查这个转储时,相同的堆栈框架显示为:

#0 0x08d1805c in FooBar (this=0xa9315578, dt=0.100000001)

这让我很困惑。一方面,实时情况中generate-core-file的值#0 0x08d1805c in FooBar (this=0x0, dt=2.69049305e-42) 是有道理的。另一方面,0.1dt,如转储中所示,可以很好地解释this

更重要的是,怎么会出现差异呢?

0 个答案:

没有答案