Debugging an application on Vm Ware with CDB in QtCreator
-
I'am trying to debug the qt application which i made and placed on Vm Ware. I compiled application with msvc2013 debug configuration, and installed in on vmware using 'windeployqt' so it works fine. I followed this guide
https://www.vmware.com/support/ws5/doc/ws_devices_serial_host_app_to_vm.html
https://www.vmware.com/support/ws5/doc/ws_devices_serial_advanced_example_debugging.html
So i created '\.\pipe\com_1' named pipe. I'm running the cdb on the virtual machine with arguments: cdb -server npipe:pipe=\.\pipe\com_1 -v C:\tests\clean_deploy\app.exe on the Virtual Machine. I'am assuming that cdb will use the \.\pipe\com_1 to listen for the connections. (is that correct?) On my OS(Windows 7) i run the qt->debugging->attach to remote cdb session and set the connection string like this npipe:server=server,pipe=\.\pipe\com_1 And i get in qt log:
Debugging Started
Debugging FinishedAnd nothing happens. Please help, how do you debug with CDB from QtCreator another application on the VmWare Virtual Machine which have the cdb server running?
-
Your main problem is that you are trying to connect your client to a pipe on your client machine, because of an incorrect pipe name.
see https://msdn.microsoft.com/en-US/en-en/library/windows/desktop/aa365783(v=vs.85).aspx for an explanation how to name your pipesAnd you also need to follow the description in the "Start a CDB Remote Session" Dialog. Especially the part with the Qt Creator CDB extension.
-
Thanks for the reply. I have read the link about the pipe and tried a couple of other things (they didnt' work anyway )
First, i renamed the external pipe in VmWare settings to : superpipe22. I made sure, that the pipe is connected to vmware. Also the name of the computer in VmWare operating system (windows 8) is : SUPERPC
Then i changed the server creation first like this:
**
cdb -server npipe:pipe=\S
UPERPC\pipe\superpipe22 C:\tests\clean_deploy\clean_deploy\myapp.exe**and tried to connect with
npipe:server=SUPERPC,pipe=\SUPERPC\pipe\superpipe22npipe:pipe=\SUPERPC\pipe\superpipe22
npipe:server=SUPERPC,pipe=superpipe22
npipe:server=SUPERPC,pipe=superpipe22
Then i went to cdb folder, manually ran it and tried:
1
cdb -QR \\SUPERPC
Servers on \\SUPERPC:
Unable to query \\SUPERPC2
cdb -QR \\SUPERPC\pipe\superpipe22
Servers on \\SUPERPC\pipe\superpipe22:
Unable to query \\SUPERPC\pipe\superpipe223
cdb -QR \\.\pipe\superpipe22
Servers on \\.\pipe\superpipe22:
Unable to query \\.\pipe\superpipe22So cdb cannot access the VmWare even trough the pipe. I think the problem is that VmWare is not reachable under the name SUPERPC. I know its not the topic of this forum, but can you suggest any tips, on how i can access my VmWare OS by the servername? My VmWare is not using bridged connection it has its own network with its own modem etc. (That's why i'm testing my application there).