6/10/2023 0 Comments Openlierox demolitionsTeeStdout stuff: (search for teeStdoutInit) a=blob f=src/main.cpp hb=refs/heads/0. I just made the first public release today, so we'll how it behaves in the wild. TeeStdout stuff: (search for teeStdoutInit) a=blob f=src/main.cpp hb=refs/heads/0.58 If you want to try the end result: It's OpenLieroX 0.58 beta5:, īreakpad stuff: a=tree f=src/breakpad hb=refs/heads/0.58 So, we finally have a really simple crash reporting tool which works for Windows, MacOSX and Linux and we don't really have to do any additional work to keep that system running. But I fixed that (at least that it works on all systems where I have tested it). I played a bit with the console commands addBots/kickBots to have something similar (not sure if it is exactly the same though). Some people worked already on that but that was somehow incomplete and didn't worked for me (see for more details). I still felt some lags (local lags, the game is really hanging for a very short delay) when somebody joins or leaves. Also, for Linux, DWARF support was missing, only Stabs was supported (whereby DWARF is the common standard). A lot of fixes for Windows were needed to make all the non-client part working (like the processor and that stuff). It has a small SMTP client builtin and uses this to post everything to our mailinglist (later on perhaps directly into some bugtracker).īreakpad needs some extensions to work that way. Then it collects the whole environment, the data from logfile and the configfile. That new instance will generate all needed Breakpad Symbolfiles on the fly and parse the minidumpfile and generates the crashreport. When it crashes, Breakpads client part will generate a minidump and then start a new instance of our game with that minidumpfile and the logfile as a parameter. In all cases, it even writes all the output as long as the application is running, no matter what happens (so absolutly no problems when it crashes). This teeStdout-handler forwards the data both to stdout and to a file (or at the very beginning into a buffer before it has a handy logfilename). I.e., if it crashes, it will generate a nicely readable stacktrace from all threads and some more stuff, add the users configfile (stuff like passwords are removed automatically) and also adds the full stdout+stderr output from the crashed process and sends that to some mail.įor stdout+stderr, for Linux/Unix/MacOSX, I coded something similar to the tee-tool but somehow more handy - this is then forked from the process, then dup2 on 0 and 1. It doesn't use the same architecture though - the whole report is generated on the client side. We just finished a full crashreporter system, based on Google Breakpad. I thought that maybe interesting for some other devs here:
0 Comments
Leave a Reply. |