0
私はQNetworkReply
を持っており、ダウンロードしたバイトをQByteArray
に保存したいと思います。Qt:QByteArrayで不正なalloc例外をデバッグする方法は?
connect(_replyRef, SIGNAL(readyRead()), this, SLOT(PushDownloadedBytesToFile()));
void PushDownloadedBytesToFile()
{
_internalBufferBytes.append(_replyRef->readAll());
}
問題は、サイズが約33552950.
私が問題かどのように私はこれをデバッグすることができますが何であるかを理解していないされたとき、私はbad alloc
を得るということです。
バッファをすべて読み取らず、チャンクでチャンクしますか?このファイルは32Mbですが、次のファイルは512Mbです。このような大きなファイルの処理は、1つずつ行う必要があります。 –
まあ...私はそれをチャンクで読みましたが、理由のためにバッファに40Mbを持っている必要があります。 – user3132974
メモリが不足していてヒープが壊れている可能性があります。最近の40MBは普通のサイズに見えるので、valgrindはあなたの友人です。 –