Hi,

during debug mode (F5 with default keys) the conversion from QString to char* fails and produces garbage data. That way, I cannot debug my program properly. When running my program normally (Ctrl+R) it's working just fine.

Below you will find a small example, that determines the type of drives in Windows. I tested with Qt 5.5.1 and Qt 5.4.2. Qt Creator is at version 3.6.1.

Qt Code:
  1. #include <iostream>
  2. #include <windows.h>
  3. #include <winbase.h>
  4. #include <QtCore>
  5. using namespace std;
  6.  
  7. int main(void)
  8. {
  9. QFileInfoList localDrives = QDir::drives();
  10. for (QFileInfo info : localDrives)
  11. {
  12. const char *drive = QDir::toNativeSeparators(info.path()).toStdString().c_str();
  13. UINT drivetype = GetDriveTypeA(drive);
  14. qDebug() << info.path().left(1) << QString::fromLocal8Bit(drive) << "is" << drivetype;
  15. }
  16. return 0;
  17. }
To copy to clipboard, switch view to plain text mode 

Here is the output during debug mode. Of course, GetDriveTypeA(...) returns always 1 here. Sh*t in, sh*t out.
Qt Code:
  1. Debugging starts
  2. "C" "««««««««îþîþ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000ma?\u0003OÇ\u0000\u0018\u0001ð\u00ADº\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000««««««««\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000la?\u0002OÇ\u0000\u001CÈ\u00ADÆk««««««««îþîþ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000la?\u0002NÇ\u0000\u0018ȬÆk\u0001\u0000\u0000\u0000««««««««\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000ka<\u0006NÇ\u0000\u0000\u0010G€\u0000P\u0019€\u0000îþîþîþîþla?\u0002IÇ\u0000\u0018ȬÆk\u0000\u0000\u0000\u0000««««««««\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000ma?\u0003NÇ\u0000\u001C(¼Æk\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000««««««««îþîþ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000na?\u0000OÇ\u0000$(¼Æk\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000««««««««îþîþîþîþîþîþ\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000la?\u0002LÇ\u0000\u0018ȬÆk\u0002\u0000\u0000\u0000««««««««\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000la?\u0002NÇ\u0000\u0018ȬÆk\u0003\u0000\u0000\u00ò¥êBio
  3. "D" "îþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþoa?\u0001VÇ" is 1
  4. "E" "îþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþoa?\u0001VÇ" is 1
  5. "F" "îþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþoa?\u0001VÇ" is 1
  6. "G" "îþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþoa?\u0001VÇ" is 1
  7. "I" "îþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþoa?\u0001VÇ" is 1
  8. "P" "îþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþoa?\u0001VÇ" is 1
  9. "Q" "îþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþoa?\u0001VÇ" is 1
  10. "R" "îþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþoa?\u0001VÇ" is 1
  11. "W" "îþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþîþoa?\u0001VÇ" is 1
  12. Debugging has finished
To copy to clipboard, switch view to plain text mode 

And here's the output from normal run:
Qt Code:
  1. Starting D:\Andreas\Qt\build-StringTest-Desktop_Qt_5_5_1_MinGW_32bit2-Debug\debug\StringTest.exe...
  2. "C" "C:\\" is 3
  3. "D" "D:\\" is 3
  4. "E" "E:\\" is 5
  5. "F" "F:\\" is 2
  6. "G" "G:\\" is 2
  7. "I" "I:\\" is 3
  8. "P" "P:\\" is 5
  9. "Q" "Q:\\" is 5
  10. "R" "R:\\" is 5
  11. "W" "W:\\" is 3
  12. D:\Andreas\Qt\build-StringTest-Desktop_Qt_5_5_1_MinGW_32bit2-Debug\debug\StringTest.exe exited with code 0
To copy to clipboard, switch view to plain text mode 

What could be the problem and can I do something to solve it?

Merci.