From time to time it can be very useful to debug applications running on remote machines. This is particularly true when the machine you are debugging your code on features specialised built-in hardware devices, or when your application is behaving differently compared to when it is running on your development machine. Many developers know that…