On Thu 29 Aug 2013 13:57:51 NZST +1200, Derek Smithies wrote: > The source code I have, and I can compile it just fine. I then > release it to commercial > customers who use it. One customer has found a method of crashing it. > > Where was the crash - and what caused it? > > Well, I simply cannot give him a debug version of the executable to run.
Perfect, ask for a crash dump (those infamous *ix core files), and make sure to tell customer to change shell process limits (coredumpsize etc) first so it's not truncated. You then load this core dump with your -g compiled version and will be taken straight to the black hole. It works because both binaries are exactly identical - the additional symbol and debugging information is in different segments of the executable. > As I stated below, it is possible that the debug version will not crash. What do you mean by debug version? If it's got additional test etc code in it, then yes, so you make sure you recompile your version exactly the same as the customer's, except you add -g and whatever else you need to control the behaviour of -g. Your debug version is then instruction-identical. That's the "where" problem solved, the cause should then be not too far away. Btw the same method is used on Linux distros. The binaries are stripped to reduce installed size (by a very significant amount). The debug info is in a separate package with "-debuginfo" added to the name. If I have a crash, a popup asks me whether to report it - yes, but the backtrace is useless because it has no symbols, but would I like to install the missing debug packages - yes, ok, submit bug report. All a few mouse clicks. Doesn't debian do that too? Volker -- Volker Kuhlmann http://volker.dnsalias.net/ Please do not CC list postings to me. _______________________________________________ Linux-users mailing list [email protected] http://lists.canterbury.ac.nz/mailman/listinfo/linux-users
