This handy little tool can be used to trace crashes that have occurred in Uplink while you are developing.

You will need the file - this is generated by Developer Studio during compilation.

When Uplink crashes it will leave behind a stack trace in the debug log. It will look like this:

============== B E G I N C O R E D U M P =================
retAddress = 004A1721
retAddress = 00487E75
retAddress = 0048BFEA
retAddress = 0046D078
retAddress = 004E5A44
retAddress = 004A2741
retAddress = 1000CA2F
retAddress = 78A8BD39
retAddress = BFF7363B
retAddress = BFF94407
retAddress = 00818C2A
============== E N D C O R E D U M P =====================

If you run this script on that debug log it will look up all those locations in the file and print out the locations in readable form. You will end up with this, which makes a lot more sense: (well, it does if you're a programmer ;)

Stack trace
4a1721 4a16f4 ?CoreDump@App@@QAEXXZ (app.obj)
487e75 48789f ?SetTarget@PasswordBreaker@@UAEXPAVUplinkObject@@PADH@Z (passwordbreaker.obj)
48bfea 48bf94 ?SetProgramTarget@TaskManager@@QAEXPAVUplinkObject@@PADH@Z (taskmanager.obj)
46d078 46cfb3 ?PasswordClick@PasswordScreenInterface@@KAXPAVButton@@@Z (passwordscreen_interface.obj)
4e5a44 4e5a2a ?MouseUp@Button@@QAEXXZ (eclipse:button.obj)
4a2741 4a2687 ?mouse@@YAXHHHH@Z (opengl.obj)
1000ca2f 5bfd90 ___onexitbegin (<common>)
78a8bd39 3b71df16 is (u)
bff7363b 3b71df16 is (u)
bff94407 3b71df16 is (u)
818c2a 5bfd90 ___onexitbegin (<common>)