【Squishノウハウ】SquishのテストからEメールを送信する
2月 17, 2023 by Qt Group 日本オフィス | Comments
こちらの記事はSending E-Mail From Squish Testsの抄訳です。
Squish GUI Testerを使用すると、GUIテストの実行と検証というソフトウェア開発に不可欠な作業をすべて自動で行うことができます。ユーザーは、Squish Test Centerなどを使用して、テスト設計やテストレポートに基づく不具合の根本原因の分析など、より創造的で抽象的なタスクに集中することができます。後者のタスクには専門のチームがあることが多いため、レポート解析は通常、テストを実施したテストエンジニア自身によって行われます具合が見つかった場合はリグレッションが発生し、対応するチケットが作成されます。
当然、すべての不具合が同様のものとは限りません。GUI テストの自動化は複雑なシステムであり、テスト失敗の原因の中には、通常の GUI 検証の範囲外に属するものも存在する可能性があります。例えば、テストが実行されるハードウェア自体の問題があります。このような場合、テストエンジニアリングチームに直接属していない人たちを不具合解析の議論に参加させることが非常に有効です。
例えば、リモートデバイスへのネットワーク接続が時々ダウンするような、テストセットアップの既知の弱点があるとします。頻繁に起こることではないかもしれませんが、それが起こるとテストの実行全体が中断されてしまいます。このようなハードウェアの問題は、DevOpsエンジニアやシステム管理者の領域かもしれません。こういった場合、テストスクリプトに責任者を明記し、問題が発生したときに適切な同僚にすぐに通知できるようにすることは、非常に有益です。
Eメールは、他のチームの同僚に異常なテスト結果を通知するのに最適な方法です。メール本文に詳細なエラーの説明を含め、スクリーンショットやログファイルなどの成果物を添付すると、問題の原因究明が非常に簡単になります。Eメールを活用するもう1つの利点は、誰もがすでにメールクライアントを持っているので、別のメッセンジャープラットフォームを導入する必要がないことです。
前提条件
ここでの説明は Squish がサポートするすべてのスクリプト言語に適用されますが、ここではデモンストレーションのために Python ベースのテストスイートを使用することを想定しています。
また、メールを受けとり、受信者にリレーするSMTPサーバへのアクセスも必要です。これは、どのようなメールを送る際にも必要なものです。もし、疑問があれば、システム管理者にご確認してください。
Pythonを使用してEメールを送信する
Pythonスクリプトを使ったメール送信は、2つのステップで構成されており、それぞれ標準ライブラリの一部である専用モジュールをベースにしています。
- まず、email モジュールを使ってメッセージが作成されます。このモジュールはEメールメッセージを、件名、受信者、本文、そして添付ファイルのようなメッセージの構成要素を含む、個別のオブジェクトとして(EmailMessageクラスを使用して)モード化します。
- 次に、構成されたメッセージは smtplibモジュールを介して SMTP サーバーに送信されます。 send_message 関数がすべての grunt 処理を引き受け、メッセージがリレーされることを確認します。
それでは、件名、宛先、本文を指定してメールを送信する簡単な関数を定義してみましょう。
import email, smtplib
def sendMail(subject, to, body):
msg = email.message.EmailMessage()
msg.set_content(body)
msg['Subject'] = subject
msg['From'] = 'GUIテストチーム<noreply@example.org>'
msg['To'] = to
server = smtplib.SMTP('mail.example.org')
server.send_message(msg)
このように、SMTPサーバーのホスト名を指定することが最も確実な方法です。
致命的なエラーに対応するEメールの送信は、1つの関数を呼び出すだけで済みます。ここでは、startApplicationの呼び出しが予期せず失敗した場合に、メールを送信する例を示します。メールの本文に意図しない空白が含まれないように、textwrap.dedentを使用することにします。
try:
startApplication("my_application")
except RuntimeError as err:
sendMail( subject="Error while executing " + testSettings.testCaseName, to="Frerich Raabe <raabe@example.org>", body=textwrap.dedent(f"""\
お疲れ様です。
アプリケーションのスタートが失敗したようです。
例外のテキストはこちらになります。 : {err}
お手数ですが、解析いただけますでしょうか?
- GUIテストチームより
""")
スクリーンショットの添付
ここまでの手順でメールの送信は可能ですが、さらに情報を添付することで、より有益なメールになります。
スクリーンショットは、起きている問題を理解する際に非常に役立つ場合があります。sendMail関数を拡張することで、デスクトップ全体のスクリーンショットを自動的にメールに添付できるようにすることができます。この場合、grabDesktopScreenshot関数が役に立ちます。以下は、sendMailの定義の修正内容です。
import email, smtplib, tempfile
def sendMail(subject, to, body):
msg = email.message.EmailMessage()
msg.set_content(body)
msg['Subject'] = subject
msg['From'] = 'GUIテストチーム<noreply@example.org>'
msg['To'] = to
tmpFileName = tempfile.mktemp(suffix='.png')
try:
img = grabDesktopScreenshot()
img.save(tmpFileName)
with open(tmpFileName, 'rb') as f:
msg.add_attachment(f.read(), maintype='image', subtype='png')
finally:
os.remove(tmpFileName)
server = smtplib.SMTP('mail.example.org')
server.send_message(msg)
これは通常ベストプラクティスとはみなされませんが、grabDesktopScreenshotの戻り値である画像オブジェクトに使用する保存メソッドが引数としてファイル名を要求するため、ここではtempfile.mktempを使用して仮のファイル名を作成しています
。この関数は、スクリーンショットをファイルとして保存し、そのファイルを電子メールに添付したあとに削除しています。
より良い方法
スクリーンショットは手始めとして最適ですが、その他にもメールの内容として考慮すべきことがたくさんあります。ここでは、そのいくつかをご紹介します。
- ApplicationContext.readStdout関数が返す、テスト中のアプリケーションの出力
- テスト対象のアプリケーションが書き出したログファイル
- スタックトレース。テストスクリプトのコード内でエラーが発生した正確な場所を記録します
メールの受信者は、テストの環境や背景などについて精通していない可能性があることを忘れないでください。何が起こっているのかをよりよく理解するためのコンテキストを提供できる情報は、すべて有用です。
ここで紹介されたもの以外にも、メールに含めるべきだと思う情報はありますか?以下のコメント欄でお気軽にお知らせください!
お問い合わせ
SquishをはじめとするQtのQA(品質保証)ツールにご興味がおありの方は、Qt JapanのEメールアドレス:japan@qt.ioまでお気軽にご連絡ください。概要のご説明から詳細な技術的相談、また無料のツールトライアルのご案内もいたしております。
Blog Topics:
Comments
Subscribe to our newsletter
Subscribe Newsletter
Try Qt 6.8 Now!
Download the latest release here: www.qt.io/download.
Qt 6.8 release focuses on technology trends like spatial computing & XR, complex data visualization in 2D & 3D, and ARM-based development for desktop.
We're Hiring
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Can you give some attention to QTCREATORBUG-2949 please? Autocompletion for c++ is still better in kdevelop than qtcreator and obviuosly qtcreator is better for other things and I want to use qtcreator
thanks
Nicola
One thing I'd really love to see: An appropriate tag in the repository before I seen an announcement of a new version here. ;-)
you are right @Guido Seifert
You tolls publish some beta, RC, final version but I don't see any tag in git.
Are you going to fix something letter ? :)
???
https://qt.gitorious.org/qt...
Sorry, my post was a bit misleading. No fault on your side. It is just that I pulled and rebuilt the creator this morning... only to see a few hours later that if I had waited a bit longer, I could have seen the rc tag and had an 'official' version. But that's how it usually works....no progress is made until 5 minutes after I downloaded everything and upgraded my system. ;-)
I hate you. :-)
Just checked: Eike Ziller commited 0672813 at 10:11.
My update: Wed, 16 Nov 2011 09:24:18 GMT
Btw... Looks very good. The only problem I discovered yet, is only a problem for those, who want to or have to stay with debian stable: gdb 7.0.x does not work correctly anymore.
@guido: ah, always a pleasure ;)
@Guido: 7.0.1 with python?
@Guido Seifert: anyway, 7.0.1 seems to work even without python, but this means "no prettyprinting", and building 7.0.1 is not supported with python 2.7 etc, so to make that work "again" is significant effort which does not seem to be worthwhile.
Andre',
yes. Python seems to be in by default in Debian squeeze:
http://packages.debian.org/...
And it worked fine for me in 717acb6bf4b4799dfb7e72b1481728fb95964d7c.
When I upgraded to 9df694c6eb9fb2cda1de6b6532d8f137c064d744 many of
the variables suddenly only showed 'Unavailable synchronous data'.
Fixed when I upgraded my gdb. As I wrote, generally not a problem. Problem only for those who have no saying in what build configuration they have to use. And Debian stable isn't such an uncommon release.
What a luck I took off yesterday afternoon. Otherwise I'd have distributed 2.4 beta to my users. Very cool that I can now at last get thread names when looking at core dumps :).
Is it possible to use Qt Creator as a software platform, in a similar way Eclipse RCP is used? I know the source code is available, but I would have to clean it up removing all IDE features so I could plugin my application features. I wish someone could have thought about it.
@guilherme: We had thought about it, from the beginning. And rejected it as being out of scope of what we want to do.
I haven't been keeping up with Creator for some time. I downloaded this RC and tried it on my 10.6 Mac with Xcode 4.2. Right away, the tool chains setup is confusing me.
First of all, it shows all the available gcc flavors, even the non-existent ones. Like PPC for LLVM-CLANG and gcc4.2-llvm. Those DO NOT have PPC output.
[](http://imgur.com/DBrIP)
Then in Qt Versions panel, the tool chain selection for building helper doesn't tell me which GCC is which:
[](http://imgur.com/jA9sb)
It also fails to find the installed Qt 4.8 RC.
On minor annoyance bit me today. I added a custom deployment step in run settings. But instead of 'make' in the command line I typed 'make '. The extra space was invisible, but prevented deployment.
My system is windows xp.
Installed QtSDK 1.1.4.
When I IDE after replacing QtCreator 2.4.0 RC .
When editing QML code , the program will automatically exit silently .
Each time you edit QML code will automatically exit the program , this is my problem?
Jason: Does that always happen? Even with a minimal QML file such as "import QtQuick 1.1; Item {}"? I suspect this might be the same as https://bugreports.qt.nokia... . Can you get a stack trace and file a bug report (assign to me)?
Please give some love to QTCREATORBUG-166 (it is the one that keeps me from switching to qtcreator).
Thank you.
Unfortunately, scrolling is still nearly unusable on Mac after opening Help. Most likely due to https://bugreports.qt.nokia... :(
Anyone compiled qt-creator with Qt 4.8? I did ages ago and found a strange bug, that in some dialog boxes I wasn't able to click a button until I moved the box a few pixels. Mouseover effects did always work. I dismissed this bug since Qt 4.8 was far from the state it is today so I could not be sure whether it was a qt-creator or a 4.8 problem. Last week I tried again to compile the creator with 4.8 on a different system and this bug still exists. I compiled several of my own programs with 4.8 and never experienced this problem somewhere else, so now I really think it might be a bug in qt-creator.
@guido: I've heard from a collegue that updating ubuntu supposedly might mend that problem (I suppose that you are on that platform).
Nope, Debian Wheezy. As updated as possible. Fairly recent Qt 4.8.
This problem does not exist when I compile with 4.7.4.
Verygood
That site looking good
@Christian Kamm: Yes, and https://bugreports.qt.nokia... similar problems .
As long as when using a custom component , modify the code to automatically close the QML QtCreator.
And very often , so I can not make any changes to the QML code .
QML is only open a separate file , not the entire project , it will not automatically shut down .
Sorry, I do not know where to find the stack in the log file .
qrjmwmbct, vrlureqxbn
When you compile it for Windows with MinGW?
What are the minimum system requirements for QtCreator now days? I am using Redhat Enterprise 5.5, all applications I develop have to run on this standard (controlled hardware/software). It seems that debugging with the python debugger helpers do not work on my machine. The last successful, for reading nice debugging output, version of QtCreator that I can use is 2.1.0. From what I understand that after this version QtCreator switched to the python way of doing things with NO ability to continue to compile the old debugger libraries even if we wanted them. I think forcing a developer to a certain way is wrong specially if the application runs on my machine. I like some of the features found in the newer versions but can't use them as they don't make debugging easy. 2.1.0 is easier to use and would like that option on the new builds of QtCreator. But with all the questions about this all over the web, it seems the Trolls don't care about giving the information needed to fix this or give a definite statement on which machines it will run.
I know some will say install this or upgrade that, sorry can't do. Develop machine has to stay as stock as possible as the machines running the developed app are stock and CAN NOT be upgraded due other priority software running on them.
Thanks for any and all help!
@jon: Debugging helpers on linux nowadays require a python enabled gdb 7, gdb 7.2 is recommended. If your machines don't have that you can try the binaries that we have on our ftp here ftp://ftp.qt.nokia.com/misc... (and tell Qt Creator to use it in Tools->Options->Debugger->Gdb)
Ever since Qt Creator 2.3.x if I have an enum like the one below (C++ code) then I get a wavy line under the last element and if I hover over it I get the following warning: commas at the end of enumerator lists are a C++0x specific feature
enum Type
{
TYPEONE = 1,
TYPETWO = 2,
};
I've ALWAYS left in the last comma and it's never given me any problems. How can I disable this warning as I don't want to change all my code!
@Eike: Thanks for the suggestion. I have installed on my machine the latest QtSDK, done before the earlier comment was posted, and used the gdb from there but get the following error message: "/path/to/app/qtc_test not in executable format: File format not recognized". Did a clean and then build a couple of times.
Setup was to clone the GCC that was auto detected and then browse to the gdb located in the QtSDK structure and set the project to use that tool chain. I left the g++ alone, so I am making a guess that my compiler is in need up updating as well.
I am unable to start a debug session - although I can attach to an existing process. Here is what I see in the debug log - error 193 even though the path exists. Sigh. Anyone?
sStarting debugger 'GdbEngine' for ABI 'x86-windows-msys-pe-32bit'...
dStart parameters: 'test' mode: 1
dABI: x86-windows-msys-pe-32bit
dExecutable: C:Documents and SettingscaldecorDesktopProjectstest-build-desktop-QtinPATHDebugdebugtest.exe
dDirectory: C:Documents and SettingscaldecorDesktopProjectstest-build-desktop-QtinPATHDebug
dDebugger: C:Qtqtcreator-2.3.1pythongdbgdb-i686-pc-mingw32.exe
dProject: C:Documents and SettingscaldecorDesktopProjectstest (built: C:Documents and SettingscaldecorDesktopProjectstest-build-desktop-QtinPATHDebug)
dQt: C:Qt4.7.4
dQML server: 127.0.0.1:0
d
dDebugger settings:
dUseAlternatingRowColours: false (default: false)
dFontSizeFollowsEditor: false (default: false)
dUseMessageBoxForSignals: true (default: true)
dAutoQuit: false (default: false)
dLogTimeStamps: false (default: false)
dVerboseLog: false (default: false)
dCloseBuffersOnExit: false (default: false)
dSwitchModeOnExit: false (default: false)
dUseDebuggingHelper: true (default: true)
dUseCodeModel: true (default: true)
dShowThreadNames: false (default: false)
dUseToolTips: false (default: false)
dUseToolTipsInLocalsView: false (default: false)
dUseToolTipsInBreakpointsView: false (default: false)
dUseAddressInBreakpointsView: false (default: false)
dUseAddressInStackView: false (default: false)
dRegisterForPostMortem: false (default: false)
dLoadGdbInit: true (default: true)
dScriptFile: (default: )
dWatchdogTimeout: 20 (default: 20)
dTargetAsync: false (default: false)
dMaximalStackDepth: 20 (default: 20)
dAlwaysAdjustStackColumnWidths: false (default: false)
dShowStandardNamespace: true (default: true)
dShowQtNamespace: true (default: true)
dSortStructMembers: true (default: true)
dAutoDerefPointers: true (default: true)
dAlwaysAdjustLocalsColumnWidths: false (default: false)
dListSourceFiles: false (default: false)
dSkipKnownFrames: false (default: false)
dEnableReverseDebugging: false (default: false)
dAllPluginBreakpoints: true (default: true)
dSelectedPluginBreakpoints: false (default: false)
dAdjustBreakpointLocations: true (default: true)
dAlwaysAdjustBreakpointsColumnWidths: false (default: false)
dNoPluginBreakpoints: false (default: false)
dSelectedPluginBreakpointsPattern: .* (default: .*)
dBreakOnThrow: false (default: false)
dBreakOnCatch: false (default: false)
dBreakOnWarning: false (default: false)
dBreakOnFatal: false (default: false)
dAlwaysAdjustRegistersColumnWidths: false (default: false)
dAlwaysAdjustSnapshotsColumnWidths: false (default: false)
dAlwaysAdjustThreadsColumnWidths: false (default: false)
dAlwaysAdjustModulesColumnWidths: false (default: false)
dState changed from DebuggerNotReady(0) to EngineSetupRequested(1).
dQUEUE: SETUP ENGINE
dCALL: SETUP ENGINE
dTRYING TO START ADAPTER
dENABLING TEST CASE: 0
Python path: C:Qtqtcreator-2.3.1pythongdblib
dSTARTING C:/Qt/qtcreator-2.3.1/pythongdb/gdb-i686-pc-mingw32.exe -i mi --tty=.pipecreator-5708-6334
dGDB STARTED, INITIALIZING IT
<1show version
<2-list-features
<3set breakpoint pending on
<4set print elements 10000
<5set overload-resolution off
<6handle SIGSEGV nopass stop print
<7set unwindonsignal on
<8pwd
<9set width 0
<10set height 0
<11set auto-solib-add on
<12-interpreter-exec console "maintenance set internal-warning quit no"
<13-interpreter-exec console "maintenance set internal-error quit no"
<14-interpreter-exec console "disassemble 0 0"
<15-interpreter-exec console "python execfile('C:/Qt/qtcreator-2.3.1/share/qtcreator/dumper/bridge.py')"
<16-interpreter-exec console "python execfile('C:/Qt/qtcreator-2.3.1/share/qtcreator/dumper/dumper.py')"
<17-interpreter-exec console "python execfile('C:/Qt/qtcreator-2.3.1/share/qtcreator/dumper/qttypes.py')"
<18-interpreter-exec console "bbsetup"
dADAPTER SUCCESSFULLY STARTED
dNOTE: ENGINE SETUP OK
dState changed from EngineSetupRequested(1) to EngineSetupOk(3).
dQUEUE: SETUP INFERIOR
dState changed from EngineSetupOk(3) to InferiorSetupRequested(4).
dQUEUE: SETUP INFERIOR
dCALL: SETUP INFERIOR
sSetting up inferior...
=thread-group-added,id="i1"
>~"GNU gdb (GDB) 7.2n"
>~"Copyright (C) 2010 Free Software Foundation, Inc.n"
>~"License GPLv3+: GNU GPL version 3 or later nThis is free software: you are free to change and redistribute it.nThere is NO WARRANTY, to the extent permitted by law. Type "show copying"nand "show warranty" for details.n"
>~"This GDB was configured as "i686-pc-mingw32".nFor bug reporting instructions, please see:n"
>~".n"
>&"show versionn"
>~"GNU gdb (GDB) 7.2n"
>~"Copyright (C) 2010 Free Software Foundation, Inc.n"
>~"License GPLv3+: GNU GPL version 3 or later nThis is free software: you are free to change and redistribute it.nThere is NO WARRANTY, to the extent permitted by law. Type "show copying"nand "show warranty" for details.n"
>~"This GDB was configured as "i686-pc-mingw32".nFor bug reporting instructions, please see:n"
>~".n"
>1^done
dPARSING VERSION: 1^done
d
dSUPPORTED GDB VERSION GNU gdb (GDB) 7.2
dCopyright (C) 2010 Free Software Foundation, Inc.
dLicense GPLv3+: GNU GPL version 3 or later
dThis is free software: you are free to change and redistribute it.
dThere is NO WARRANTY, to the extent permitted by law. Type "show copying"
dand "show warranty" for details.
dThis GDB was configured as "i686-pc-mingw32".
dFor bug reporting instructions, please see:
d.
dGNU gdb (GDB) 7.2
dCopyright (C) 2010 Free Software Foundation, Inc.
dLicense GPLv3+: GNU GPL version 3 or later
dThis is free software: you are free to change and redistribute it.
dThere is NO WARRANTY, to the extent permitted by law. Type "show copying"
dand "show warranty" for details.
dThis GDB was configured as "i686-pc-mingw32".
dFor bug reporting instructions, please see:
d.
d
dUSING GDB VERSION: 70200, BUILD: 2010
>2^done,features=["frozen-varobjs","pending-breakpoints","thread-info","python"]
dFEATURES: 2^done,data={features=["frozen-varobjs","pending-breakpoints","thread-info","python"]}
d
>&"set breakpoint pending onn"
>3^done
>&"set print elements 10000n"
>4^done
>&"set overload-resolution offn"
>5^done
>&"handle SIGSEGV nopass stop printn"
>~"Signal StoptPrinttPass to programtDescriptionn"
>~"SIGSEGV YestYestNottSegmentation faultn"
>6^done
>&"set unwindonsignal onn"
>7^done
>&"pwdn"
>~"Working directory C:Documents and SettingscaldecorDesktopProjectstest-build-desktop-QtinPATHDebug.n"
>8^done
>&"set width 0n"
>9^done
>&"set height 0n"
>10^done
>&"set auto-solib-add onn"
>11^done
>12^done
>13^done
>&"A syntax error in expression, near
0'.n" >14^error,msg="A syntax error in expression, near
0'.">15^done
>16^done
>17^done
>~"dumpers=[{type="QLinkedList",formats=""},{type="QSize",formats=""},{type="QFileInfo",formats=""},{type="QAbstractItemModel",formats=""},{type="stdstack",formats=""},{type="QTextDocument",formats=""},{type="QTJSCJSValue",formats=""},{type="gnu_cxxhash_set",formats=""},{type="QStringList",formats=""},{type="QRegion",formats=""},{type="stdwstring",formats=""},{type="QString",formats="Inline,Separate Window",editable="true"},{type="QTextCodec",formats=""},{type="QBasicAtomicInt",formats=""},{type="QScriptValue",formats=""},{type="QTime",formats=""},{type="QSharedData",formats=""},{type="stdvector",formats="",editable="true"},{type="QRegExp",formats=""},{type="QTextCursor",formats=""},{type="QxXmlAttributes",formats=""},{type="QDateTime",formats=""},{type="QList",formats=""},{type="QStandardItem",formats=""},{type="stddeque",formats=""},{type="QFixed",formats=""},{type="QHash",formats=""},{type="QSharedPointer",formats=""},{type="QUrl",formats=""},{type="stdset",formats=""},{type="stdlist",formats=""},{type="stdbasic_string",formats=""},{type="QPoint",formats=""},{type="QStack",formats=""},{type="QScopedPointer",formats=""},{type="QRectF",formats=""},{type="QMultiMap",formats=""},{type="QMapNode",formats=""},{type="QObject",formats=""},{type="QHostAddress",formats=""},{type="QLocale",formats=""},{type="QSharedDataPointer",formats=""},{type="QVariant",formats=""},{type="string",formats="",editable="true"},{type="QBasicAtomicPointer",formats=""},{type="QVector",formats="",editable="true"},{type="QDate",formats=""},{type="QFile",formats=""},{type="QAtomicInt",formats=""},{type="wstring",formats=""},{type="QWeakPointer",formats=""},{type="QSizeF",formats=""},{type="m128",formats="As Floats,As Doubles"},{type="boostoptional",formats=""},{type="TBuf",formats=""},{type="QPointF",formats=""},{type="TLitC",formats=""},{type="QRect",formats=""},{type="QByteArray",formats=""},{type="QMap",formats=""},{type="boostshared_ptr",formats=""},{type="QChar",formats=""},{type="QDir",formats=""},{type="QPixmap",formats=""},{type="QFlags",formats=""},{type="stdmap",formats=""},{type="QHashNode",formats=""},{type="QTemporaryFile",formats=""},{type="QModelIndex",formats=""},{type="EigenMatrix",formats=""},{type="stdstring",formats="",editable="true"},{type="QImage",formats="Normal,Displayed"},{type="QSet",formats=""},],hasInferiorThreadList="0"n"
>18^done
>19^done
<20set substitute-path C:/iwmake/buildmingwopensource C:/Qt/4.7.4
<21set substitute-path C:/ndkbuildrepos/qt-desktop/src C:/Qt/4.7.4
&"set substitute-path C:/iwmake/buildmingwopensource C:/Qt/4.7.4n"
>20^done
>&"set substitute-path C:/ndkbuildrepos/qt-desktop/src C:/Qt/4.7.4n"
>21^done
>&"set substitute-path C:/qt-greenhouse/Trolltech/Codelesscreatemore/Trolltech/Codelesscreatemore/Troll/4.6/qt C:/Qt/4.7.4n"
>22^done
dALL COMMANDS DONE; INVOKING CALLBACK
&"maint print msymbols C:/DOCUME~1/caldecor/LOCALS~1/Temp/gdbns.hg5708n"
>23^done
dFOUND NON-NAMESPACED QT
dNOTE: INFERIOR SETUP OK
dState changed from InferiorSetupRequested(4) to InferiorSetupOk(6).
dState changed from InferiorSetupOk(6) to EngineRunRequested(7).
dQUEUE: RUN ENGINE
dCALL: RUN ENGINE
24^error,msg="Error creating process C:/Documents and Settings/caldecor/Desktop/Projects/test-build-desktop-QtinPATHDebug/debug/test.exe, (error 193)."
dError creating process C:/Documents and Settings/caldecor/Desktop/Projects/test-build-desktop-QtinPATHDebug/debug/test.exe, (error 193).
dNOTE: ENGINE RUN FAILED
dState changed from EngineRunRequested(7) to EngineRunFailed(8).
dState changed from EngineRunFailed(8) to EngineShutdownRequested(20).
dQUEUE: SHUTDOWN ENGINE
dCALL: SHUTDOWN ENGINE
dPLAIN ADAPTER SHUTDOWN 20
dINITIATE GDBENGINE SHUTDOWN IN STATE 0, PROC: 2
25^exit
dGDB CLAIMS EXIT; WAITING
dGDB PROCESS FINISHED, status 0, code 0
dNOTE: ENGINE SHUTDOWN OK
dState changed from EngineShutdownRequested(20) to EngineShutdownOk(22).
dState changed from EngineShutdownOk(22) to DebuggerFinished(23).
dQUEUE: FINISH DEBUGGER
dNOTE: FINISH DEBUGGER
dHANDLE RUNCONTROL FINISHED
sDebugger finished.
Ack. Seems to be the spaces in the pathname. Sigh
when open a xx.cpp file,the QCreator will be exit .I think this is the bug of the QtCreator.
The qt-creator@qt-project.org mailing list is really a better place for discussions.
@Eike: If I followed your suggestion and not try to out think you, things would have worked much better. I have now successfully made things work with QtCreator 2.3.1. But still unable to make it work with 2.4.0-rc, it will tell me it is unable to load the helpers. I found a bug report for this in your tracker, but it is listed as Qt5 only, well I think it might be 4 as well in these older systems.
Again thanks for the help and link to the proper gdb.
Hello,
Do you have an idea on the date for the launch of QtCreartor 2.4.0?
At least for Christmas ;).
Thanks.
Good luck
@dini: definitely
I love the new "Show Containing Folder" & "Open Terminal" features. Really nice for my workflow.
Could we please get the double-click drag bug fixed for this new release?
For the past few months in QtCreator I have had to precisely click around the start word and and word of the text that I want to drag around. I used to be able to just double click and drag across really quickly & easily.
@michael: The word-selection-drag problem is an issue with Qt 4.7.4 that we can't solve from Qt Creator. That issue is fixed in Qt 4.8, which isn't released yet. (If you rely on that feature heavily it might be worth compiling Qt 4.8 and Qt Creator yourself from source.)
@Eike Can we then also assume that Qt4.8 will be out by Christmas too?
@tony: no idea, you'll have to ask someone that is involved in the Qt release process for an answer to that.
I'm also having serious problems with the debugger. I've found it to be verry buggy and ruining what is otherwise my favorite IDE.
I've also opened a bug report for a problem I had on Linux but it's still unresolved (need to retest to see if it still happens ).
While I do understand the need to introduce new code and features it would be nice to have the existing one with less bugs.
It's nice that Qt Creator is able to use the MS debugger too but it ships with GDB for Windows and right now that's not working for me under Windows 7 x64. Speaking of which it would be really nice to have a 64 bit for Windows.
That's all , sorry if I'm being a bit harsh ... I'm trying to work on something and I can't really debug it properly.
I know you "trolls" have always been nice, open and receptive.