Skip to content

Avoid this Remote Debugging Gotcha

An interesting thread on the forums turned up something that more of us should consider when working in any cross-platform tool, Xojo included.

What was discovered was perhaps something obvious: that a legal filename on OS X may not work when you try to remote debug to Windows.

What occurs is:

  • the application gets built as it should on OS X for Windows (a Windows exe + dll’s etc) into a tar file
  • the copy files step executes and inserts the files into the tar file
  • the tar file is transmitted to the Windows Remote Debugger Stub
  • the tar file is then un-tarred

It is this last step is where things fail.

OS X has no trouble with a filenames that contain characters that are illegal on Windows. In particular, a “:” is allowed on OS X, but not on Windows. The reverse is also true if you work on Windows and remote debug to OS X, as there are characters that OS X won’t accept that are legal on Windows. Apple has a great guideline for cross-platform filename best practices and conventions.

So the copy file step can copy in a file that has an illegal name as far as Windows is concerned, but not OS X. When the un-tarring fails to create this file it also (currently) fails to let you know it failed. So the remote stub will still try and launch the application which fails because necessary items are now missing. Check for this situation if you’re having odd problems remote debugging. An update to the remote stub is in development that fixes this problem.