DebugObject now out - run events when your app crashes

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • Hey folks,
    Ever hated it when your programs die unexpectedly and totally wreck your otherwise professional look? Or that when it crashes, it quits instantly and won't let you debug?

    Please login to see this link. now allows you to run events when your application crashes. Instead of the classic belly-flop when your program crashes, you can set it up to:

    • Run another program to show a "Uhoh, your prorgam died, want to restart the program and/or send an email to the developers?" popup.
    • Save files that need that last bit of information stored.
    • Delete sensitive or temporary files.


    Thanks to the cool coding behind DebugObject, not only will this handy extension catch any crash in the entire MMF2 runtime, but any crash within any of the extensions you're using in your program, too.

    It features log output which can be switched on and off at runtime, an optional console where you can input debug commands, several methods of handling crashes, and ways to trigger crashes (useful for hack detectors).

    The program comes with full documentation and an example file, showing DebugObject's capability.

    Enjoy, and in case you missed the download link, Please login to see this link..

    - Phi

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • This sounds really handy. I'm quite keen to try the "Save files that need that last bit of information stored."

    I'm curious, if your Save event is the event that causes the crash, any you re-run the save event on the crash, would it cause a hall-of-mirrors effect? Is the extension smart enough to pick up this kind of loop?

    Please login to see this link.

  • It can pick up on itself, but I haven't coded the extra 6 lines to stop-recursive-errors. I should probably do that soon.
    The saving can't be multi-threaded, though. If it's the type that stalls MMF2 while it saves it's fine. But after the last "On unhandled exception" event finishes running its actions, the app insta-closes.

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Woah! That sounds epic! Downloading it.

    My Please login to see this link. (which I actually use), my Please login to see this link. (which I mostly don't use), and my Please login to see this link. (which I don't use anymore pretty much at all really). If there are awards for "'highest number of long forum posts", then I'd have probably won at least 1 by now. XD

  • It's for which Runtime ?
    (Windows, I think it's, but other ?)
    By the way, Yippikayai! ;)

    Hey I'm French, Hi!

    MMF2 SoundScape Engine (Moteur d'environnement) :
    FR: Please login to see this link.
    EN: Please login to see this link.

    May the .NET be with you (Star Wars .NET©)

  • New version supports detecting crashes if attempting to run the "on unhandled exception" events fails. It also supports minidump generation, which is essentially a copy of the environment that caused the crash which can be opened in Visual Studio at your leisure. You can set the minidump to be as detailed or basic as you want.

    I've fixed the properties, bar the new-to-this-version one, which is buggy for the moment and so has been disabled.
    The documentation has been repaired as well and the a/c/e's documented a bit more fully.
    Finally, the support for handling the console has been increased significantly.

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Thanks for that fantastic object Phi!
    Also thanks for your answer !

    Cheers!

    EDIT:

    In example file, I noticed that it there in place thoses events lines when we click on the : "Crash with DebugObject" button:
    Cause crash: access violation (read)

    So.. It's logic that we can handle THIS precise case of crash no?

    Instead we can only set (and see) this condition for the DebugObject:
    Unhandled exception trigger

    AND no conditions to handle this precise trigger exception's case..
    (a forget?)

    It then will be useful to add some conditions like:
    Custom Exception Trigger On "test1"

    And then add actions like:
    Cause crash: test1

    It's my mind and perhaps an enhanced future feature for a future version !

    Well, thanks to read at me!

    Hey I'm French, Hi!

    MMF2 SoundScape Engine (Moteur d'environnement) :
    FR: Please login to see this link.
    EN: Please login to see this link.

    May the .NET be with you (Star Wars .NET©)

    Edited once, last by BackStaged: after testing (July 9, 2013 at 2:35 AM).

  • I think what you want is a function object, they do the same thing, but unlike DebugObject they don't make the application quit once they're done executing.
    If you don't want to use an extension, you could use a fastloop running once.

    However, I think there should be some expressions for retrieving information about the crash when it happens. Just make sure you read the help file, under the "On Unhandled Exception" condition.

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Hello, Phi! First of all, AWESOME extension, thanks and congrats! :D

    Would you happen to have somewhere a download link for the previous 2 or 3 releases of this extension? We have been using it in The Journey of Eko and recently had to reinstall MMF. I downloaded all the needed extensions, but I'm still unable to open the mfa for the game - MMF says it's lacking debugobject.mfx. I then reinstalled Debug Object directly from your link (instead of Extension View), and also directly from your site, but no luck... The funny thing is that I know the extension is installed, I am able to add it to a new app, and damn it, I can SEE the files in the Data and Extension folders! :D I just can't open the Eko mfa, which leads me to think that maybe it's looking for an older version of the extension... Any idea if that would be at all possible, and do you have handy a couple older versions? Even if my game uses and outdated version, I'd need the old extension at least to be able to open the mfa and remove the events before I can update to the new version of the extension.

    If that's any help, we originally added the extension around June (I believe), and I see a post from you in early July announcing a new version - that's what led me to this hypothesis in the first place.

    Thanks a lot! :D

    Gabriel
    Please login to see this link.

  • Hey Gabriel, I have old versions available (see Please login to see this link.), however I am encountering a bug with MMF2 regarding MFA loading like that.
    | I've posted on the forums to no avail; Yves/Francois don't appear to acknowledge it, and the bug isn't part of my extension's code, as no code in my extension is even called by MMF2. It's something MMF2-side, which declares the extension isn't installed based on some unknown check. Contact Francois with your MFA, maybe that will resolve it; I have about 3 other issues similar to it.
    | In any case, make a backup copy of any MFAs and autosaves you have with DebugObject as I cannot guarantee you will be able to open them later if you attempt to open them and fail to.
    | Also check out the new beta of MMF, 258.0 RC, as it may have something to do with it.
    ~Phi

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Okay, just as an FYI for everyone, if you download this version, it will break all compatibility with older games that use the Debug Object. It won't even let you open them. I've downloaded an older version of the Debug Object, and I've been able to open a game that used an older version of the Debug Object because of it (when I had this version, it wouldn't let me open it). It's still an awesome object, but just make sure that your older games don't use it if you want to download this version.

    My Please login to see this link. (which I actually use), my Please login to see this link. (which I mostly don't use), and my Please login to see this link. (which I don't use anymore pretty much at all really). If there are awards for "'highest number of long forum posts", then I'd have probably won at least 1 by now. XD

  • Please login to see this link.

    Fixed a SDK subapp issue which had a weird Clickteam-quirk-style implementation.

    Supports:
    • Running events when your app crashes
    • Catching all crashes, even ones done by the runtime or any extension
    • Minidumps
    • Logging to files
    • Custom timestamps (see Please login to see this link. for formatting)
    • Console log window
    • Both CTF2.5 and MMF2, Std and Dev of either are supported

    Download is Please login to see this link.. Comes with an Please login to see this link..


    ...Relating to the previous posts' incompatibility, I also found an Please login to see this link. if you want to remove an old DebugObject, thanks to a chat with Yves. It was something to do with two magic number locations...

    I think I switched SDK version to a newer one way back then in 2006, which caused the bug. There's no chance the broken incompatibility will happen again, so you can confidently use newer versions.

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Please login to see this link.

    Reworded some A/C/E to be more clear, and added Unicode support. And also uses Unicode properties.
    Anyone upgrading to this version should expect their object properties to need to be reconfigured.

    Supports:
    Run events when your app crashes
    • Catching all crashes, even ones done by the runtime or any extension
    • Minidumps
    • Logging to files, with Unicode (allows logging of Asian/Arabic text)
    • Custom timestamps (see Please login to see this link. for formatting)
    • Console log window
    • Both CTF2.5 and MMF2, Std and Dev of either are supported

    Download is Please login to see this link.. Comes with an Please login to see this link..

    This ext is still free! Please login to see this link.

    If you need support, contact me on Please login to see this link..

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

    Edited once, last by Phi (May 3, 2019 at 12:48 AM).

  • Hi, is this available in the extension manager yet? My version says V8 so I dont know if I already have this latest version or not. BTW, this is an amazing extension that I couldn't work without! Well Done and Thank You!

  • Ah, it slipped my mind. I'm trying to upload it, the ZIP exceeds the limit, so I'll see what can be arranged.

    Have a new update coming out soon after too... some neat things to be added.

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Please login to see this link.

    Fixed the minidump functionality, it's not a no-op anymore. It's recommended that you set the minidump path before a crash occurs, but you can set it during. Once the crash event code finishes running, the dump will be taken.
    PDB files of DebugObject are included with the release, so any extension developer can have a full call stack.

    Supports:
    Run events when your app crashes
    • Catching all crashes, even ones done by the runtime or any extension
    • Minidumps
    • Logging to files, with Unicode (allows logging of Asian/Arabic text)
    • Custom timestamps (see Please login to see this link. for formatting)
    • Console log window
    • Both CTF2.5 and MMF2, Std and Dev of either are supported

    Download is Please login to see this link.. Comes with an Please login to see this link..

    An update that massively improves the experience is in progress and will be released within a month.

    This ext is still free! Please login to see this link.

    If you need support, contact me on Please login to see this link..

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Please login to see this link.

    Build 14 now out! Improvements to error messages. Unhandled exceptions are now called crashes, to help out newer developers.
    Also, the extension name is now reported in the crash messages, so you can report and isolate the bug in Fusion events better. It only features in invalid access exceptions, but that is the vast majority of all crash scenarios.

    Supports:
    Run events when your app crashes
    • Catching all crashes, even ones done by the runtime or any extension
    • The extension name is now outputted in the most common crash scenario
    • Minidumps
    • Logging to files, with Unicode (allows logging of Asian/Arabic text)
    • Custom timestamps (see Please login to see this link. for formatting)
    • Console log window
    • Both CTF2.5 and MMF2, Std and Dev of either are supported

    Download is Please login to see this link.. Comes with an Please login to see this link..

    This ext is still free! Please login to see this link.

    If you need support, contact me on Please login to see this link..

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

  • Please login to see this link.

    Build 15 now out!
    • Improvements to extension developers who use DebugObject to interrupt the program.
    • Updated to DarkEdif SDK v14; has built-in update checker and smart object properties

    This object supports:
    Run events when your app crashes
    • Catching all crashes, even ones done by the runtime or any extension
    • The extension name is now outputted in the most common crash scenario
    • Minidumps - save the memory of the program to a file to send to an extension developer or Clickteam later
    • Logging to files, with Unicode (allows logging of Asian/Arabic text)
    • Custom timestamps (see Please login to see this link. for formatting)
    • Console log window
    • Both CTF2.5 and MMF2, Std and Dev of either are supported

    Download is Please login to see this link.. Comes with an Please login to see this link..

    This ext is still free! Please login to see this link.

    If you need support, contact me on Please login to see this link..

    Darkwire Software Lead Programmer (C++ & C#)
    Please login to see this link. | Please login to see this link. | Please login to see this link. | Please login to see this link.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!