Ich bin gerade ein wenig ratlos. :-o Ich will aus Qt den gdbserver starten: const char *Str1 = Command.toLocal8Bit(); const char *Str2 = Param.toLocal8Bit(); printf( "Programm: [%s]\n", Str1); printf( "Parameter: [%s]\n", Str2); process.start(Command, QStringList() << Param); Das führt zu folgender interessanten Fehlermeldung: Programm: [/usr/bin/JLinkGDBServer] Parameter: [-if SWD -device EFM32GG230F1024] SEGGER J-Link GDB Server V6.20h Command Line Version JLinkARM.dll V6.20h (DLL compiled Oct 27 2017 16:21:36) WARNING: Unknown command line parameter -if SWD -device EFM32GG230F1024 found. Command line: -if SWD -device EFM32GG230F1024 [..] Could not connect to target. Please check power, connection and settings. Mit anderen Worten der Server wird gestartet, beendet sich aber sofort wieder weil er behauptet die falschen Parameter bekommen zu haben. Allerdings die Parameter die er als falsch ausgibt sind richtig. Ich kann die so wie er sie ausgibt mit der Maus in ein anderes Terminalfenster kopieren und er verbindet sich korrekt! Hat da jemand eine Erklaerung fuer? Olaf
Vielleicht solltest Du wirklich eine Liste als Parameter übergeben. Immerhin erwartet es QProcess so. Nicht das die Parameter in " gesetzt werden. AFAIK hat QProcess doch eine Funktion, um den kompletten String auszugeben, mit dem das Programm aufgerufen wird.
Du übergibst nur einen Parameter: "-if SWD -device EFM32GG230F1024" gdb erwartet 4: "-if" "SWD" "-device" "EFM32GG230F1024" --> einzeln in die StringList schieben.
Überprüfen mal, ob dein QStringList wirklich mehrere Elemente enthält und nicht nur ein Element mit beiden Parametern.
> Du übergibst nur einen Parameter: "-if SWD -device EFM32GG230F1024"
Argh! Ich haette nicht gedacht das dies so ein Problem sein koennte,
aber wirklich damit....
QStringList ParameterListe = Param.split(' ');
....funktioniert es dann. :-)
Olaf
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.