我不能将Android HPROF转换为Lollipop上的标准HPROF

问题描述 投票:3回答:1

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

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

但我看到了错误信息。

android error message

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

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

hprof-conv android.hprof standard.hprof

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

来人帮帮我。

android hprof
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.