9

最近、私は QT Creator を使用して C++ で開発しています。すべて順調で、アプリケーションをパッケージ化して配布する段階に近づいています。しかし、明らかに、リリースの前に、すべてが正しいことを確認することをお勧めします。だから私はテスト段階にあり、何かが私にいくつかの小さなメモリの問題があることを教えてくれます. 深刻なことは何もありませんが、私はこれらに執着するのが好きです;-)。

そこで、いくつかのメモリ リーク検出ライブラリを試すことにしました。まず、この質問を見ました。コストがかかるため、Purify と Insure++ は無視しました。CRT メモリ検証ルーチンを使用できるように、MSVC コンパイラの使用を提案した人もいました。QT Creator 内からデバッガーを使用する際に影響するため、検討しましたが、今のところ反対することにしました。

その後、QT に付属の MinGW32 コンパイラを使用してコンパイルする必要があるDUMAに出くわしました。しかし、信じられないほど多くのセグメンテーション違反があるため、QT ではうまく機能しないことがわかりました。DUMA がどのように機能するかは知っていますが、DUMA が私に信じ込ませようとしたほど、物事を台無しにしなかったと確信しています。

私が試したもう1つのことは、必要な依存関係を追加したとしても、残念ながらQTで提供されるMinGW32バージョンでコンパイルできないgoogle-performance-toolsでした。

QT Creator 開発者が自分のプログラムのメモリ リークをチェックしたい場合、有効な解決策はありますか?

ありがとう、

4

2 に答える 2

6

個人的には、valgrind / memcheck / callgrind / kcachegrind の組み合わせは強力すぎて、メモリ リークやパフォーマンス分析を無視できないことがわかりました。無料 (無償) であることは特に素晴らしいことです。なぜなら、私はこれらの他の専門的なツールのいくつかのコストを個人的に支払う余裕がないからです。

私はここ数年、クロスプラットフォームの Qt アプリケーションに取り組んできました。開発中、機能や機能をテストしたいときは、Windows と Linux の間を行ったり来たりします。ただし、パフォーマンス分析は常に Linux で行っています。私が見つけたメモリ リークとパフォーマンスの問題は、常に私の開発者チームが Qt の上に注入したものです。そのため、これらの問題が修正された場合、Linux で特定されたとしても、その利点は Windows にも引き継がれます。

テストできる純粋な Linux ビルド環境のセットアップを検討することをお勧めします。おそらく、最も簡単な解決策は、パフォーマンス分析を行う仮想マシンを作成することです。私の好みの組み合わせはVirtualBoxUbuntuです。

于 2011-02-25T20:09:27.417 に答える
0

これらのライブラリをWindowsに使用できるかもしれません

Malloc のフック [gnu.org] バックトレース [gnu.org] valgrind [valgrind.org]

于 2010-12-24T18:55:15.980 に答える