3

我的测试设备版本是 5.0.1 (Lollipop)。

我在 Android Studio 1.3 中获得了 Android 堆转储文件。

但是我看到了错误信息。

安卓错误信息

所以我尝试在 DDMS 中获取转储文件(示例文件名:android.hprof)。

然后我尝试将 Android HPROF 转换为标准 HPROF 文件。

hprof-conv android.hprof standard.hprof

然后hprof-conv返回消息是ERROR: read 40070 of 65559 bytes

来人帮帮我。

4

1 回答 1

0

https://android.googlesource.com/platform/dalvik.git/+/android-4.2.2_r1/tools/hprof-conv/HprofConv.c#221

/*
 * Read some data, adding it to the expanding buffer.
 *
 * This will ensure that the buffer has enough space to hold the new data
 * (plus the previous contents).
 */
static int ebReadData(ExpandBuf* pBuf, FILE* in, size_t count, int eofExpected)
{
    size_t actual;
    assert(count > 0);
    ebEnsureCapacity(pBuf, count);
    actual = fread(pBuf->storage + pBuf->curLen, 1, count, in);
    if (actual != count) {
        if (eofExpected && feof(in) && !ferror(in)) {
            /* return without reporting an error */
        } else {
            fprintf(stderr, "ERROR: read %d of %d bytes\n", actual, count);
            return -1;
        }
    }
    pBuf->curLen += count;
    assert(pBuf->curLen <= pBuf->maxLen);
    return 0;
}
于 2019-03-25T08:43:33.700 回答