Debug Screenshot to help identify issues


At the October Q&A 1:01:56 where Sebastian asked for help in identifying issues, I had an idea. It’s debugging 101. Record what is going on.

Version 1 - Debug screenshot
Display on the screen the various parameters of what is going on. Activated in Dev Mode - Define a Hotkey/control to take a screenshot to a debug location.
Longitude, Latitude.
Time of day
Weather conditions.
Plane flown.
Graphics card - driver details, card setting details

So when a user comes across a condition that needs fixing - scenery, plane, lighting, weather, etc. They can take a screenshot super easily and there in the screenshot is the information that you can send to msfsim so they can have a look at and try to duplicate the bug. In theory, anyone else can type in the location and set up a plane/location/time/weather to see the same thing.

Version 2 - Debug package
Once you start adding graphics settings, autopilot settings, plane routing, plane control settings (yoke, rudder, throttle, mixture etc), detailed weather conditions, add-ons used, it becomes too much to display on the screen and to easily type in. So now when you hit the hotkey, the program will save a file (debug package) of all the relevant details that you can (under developer mode) ‘load’ into MSFS 2020 to duplicate the conditions (provided the debugging pc has the same addons available. etc.).

That can be sent as a debugging package to msfsim for them to track down items that version 1 cannot solve.

Version 3 - Debug flight
At the end of the day you want to duplicate the flight … Asobo are working on a replay function … perfect for testing this. It only works with a second PC/laptop but that is fine. We are not asking for a polished final product, just something that works for the community who have a second computer.

We just need start/stop record with 10 second/30 second replay buffer and store the flight in a debug location. The buffer will continuously overwrite itself so the user can just set it and fly. If a bug happens then they just press stop record to capture the last 10-30 seconds of flight. This will record all the flight information (all the above settings and more) for msfsim. A CTD will give information as to what was going on between the values of the input controls and the resulting output on the screen/flight path. The debug flight in the first iteration can record the flight as values which msfsim can ‘replay’ in-house to duplicate the same conditions. Later iterations of the debug flight can expand to include a video of the flight, just thinking about the size of 4k clips :-D.

Taking inspiration from, msfsim could develop a ‘black box’ function that doesn’t need a second computer but would provide useful information for debugging.

Version 4 - Debug Version
Msfsim has to allow different versions of MSFS 2020 to exist on the same machine to help with debugging. With such a complex piece of software, even when you think you haven’t changed something, it might have been changed by something elsewhere. Once you have the Debug flight function, you have to allow people to submit flights from different versions of MSFS 2020 to enable bug tracking. The LOD issues from different versions of MSFS 2020 would easily be tracked down by this.

Version 5 - Debug tracking
Have an easy system for users to submit the debug flights into a database where msfsim can identify trending issues, so developers can prioritise work on issues affecting the most people. But also to eventually have a tester/user replay through every single debug flight on an updated MSFS 2020 to make sure the issue is resolved/signed off by the tester/submitter e.g. the same inputs (that produced a bug before) now give a different result on the screen. This assumes that the replay function is available! This debug tracking can be turned into a crude metric - debug flights submitted, looked at, decided, worked on, resolved, outstanding, duplicate, etc.

Simple :laughing:


Hole heartedly agree :sunglasses:
Microsoft must already have ‘coded template’ of exactly this?

You would have thought so but I think they are in the dark like everyone else on how to proceed. The fact they are asking for help means they are looking for a way forward. It is simple to put latitude, longitude, height and orientation onto the screen (seems so obvious on hindsight). Screenshot that and you have an exact location. You don’t have to fly around following vague directions to try and duplicate someone else’s flight to see what they saw.

Then just keep adding details that help track down bugs. BTime of day and weather (preset) are also easily duplicated on another PC to see an exact picture.

Then you would just keep adding things that help track down more and more bugs - until you say, okay that too many things, let’s just dump it all out to a file, which gets you to version 2 … and just keep going down my list :slightly_smiling_face: