2016-04-05 6 views
0

私は組み込みのCプログラマ(C++ではない)です。私は生産のためのよりシンプルなGUIを作成する方法を自分で学習しようとしています。私はこれをgoogledして答えを見つけることができませんが、誤って私の検索を言い回すかもしれません。カスタムウィジェットをデバッグする

カスタムウィジェットを作成しました。アプリケーションをデバッグするときにQtクリエイターからアクセスすると、デバッガーは実際にウィジェットのソースコードにステップインします。

しかし、ウィジェットのソースコードでは、コードの最初の行から始まり、次にF10を押して最終的にコードに戻ったときにローカル変数の行にジャンプします私はF10を打ち続ける。場合によっては、実際に保持する値ではなく、一部の変数が<Optimised out>と表示されることがあります。

私はウィジェットのためにデバッグをインストールしようとしましたが、これはまったく違いはありません。

実際にこのようなウィジェットをデバッグすることはできますか?私はこれで何時間もサークルを回り続けてきたので、なぜカスタムウィジェットの特定の部分でプログラムがクラッシュするのかを知る良い方法を考え出す必要があります。

+0

は、リリース実行可能ファイルをデバッグしようとしているようです。適切な構成が設定されていますか? –

+0

はい、カスタムウィジェットをデバッグすることは可能です。他のコードと変わりはありません。あなたが見ている行動の例を提示することは可能でしょうか? –

+0

@NicolasHolthaus、いいえ全くわかりません。私のアプリケーションは確実にデバッグモードになっています。私が最初に説明したように再コンパイルしたウィジェットは、 "make debug install"を行うことによって何らかの理由で編集されたようですが、これは助けになりませんでした。あなたがこれを達成する方法を正確に記述できるなら、私は最も感謝しています。 – DiBosco

答えて

2

解決しました。私は今朝、私がそれに戻ったときに明快さの瞬間を持っていました。私は完全に.proファイルでライブラリを参照する必要があることを忘れてしまった。だから、私はデバッグライブラリをコピーしたにもかかわらず:

/usr/lib64/qt5/plugins/designer/libcutescreenwidgetplugin.so 

問題だったプロジェクトファイルを持っていたこと:

LIBS += pathtosoucecode/build-CuteScreenWidgetPlugin-Desktop_9516b5-Release/libcutescreenwidgetplugin.so 

私はデバッグライブラリにすべてのデバッグ情報をその参照を変更したら、シングルステップは完全に機能します。

LIBS += /usr/lib64/qt5/plugins/designer/libcutescreenwidgetplugin.so 

を自分のプロジェクトファイルには、デバッグバージョンがインストールされると、それは自動的に代わりにそれを使用するように:

は、現在では、多分私は本当に持っている必要があることを私に発生しました。 Qtのような複雑なシステムで学ぶために細かいことがあるときに、あなたが間違っているのはたぶんその1つです。

関連する問題