Mount & Blade II: Bannerlord

File information

Last updated

Original upload

Created by

admiralnelson

Uploaded by

berthold32dll

Virus scan

Safe to use

About this mod

This mods will report a detailed error.
New feature: Attempt to continue, screenshot and save game attachments, memory dumper.

Requirements
Permissions and credits
This mods will report a detailed error.
Instead of infinite loading/freezing or any weird behaviour, the game should throws an error window so you can identify the cause. You can also save the error logs as well.

Make sure to unblock the all of DLLs before playing (Newtonsoft.Json.dll, BetterExecptionWindow.dll, DotNetZip.dll, BetterExceptionWindowConfigUI.dll)


Source code: https://github.com/admiralnelson/bannerlord-error-detector

Your load order should be like this. A Harmony library must be installed for Bannerlord version 1.5.9+ and up to maintain compatibility with new mods. Harmony must be placed first, then BEW, and so on....



THIS DEBUGGER/REPORTER CANNOT CATCH EXCEPTION, ENGINE CORRUPTION, and NATIVE CODE (C/C++) RELATED ERRORS. BEW ONLY CATCHES EXCEPTION IN .NET VM.

Harmony is now MANDATORY, install it here: Harmony

Q: Why is this mod never gets updated?
A: Because the core engine/library remain the same. If this mod breaks, I'm sure other mods break too, because that means core engine functionality has been changed.

Emergency save only works if the game crashed:
- not related to party/item error or corruption (this may lead to save corruption or broken save)
- must be in the campaign (not in the battle)





It's compatible with latest Butterlib ;)

Version 6.2
Bugfixes:
- Screenshot didn't appear in saved generated .htm file, it should now.
- Save games cannot be downloaded in generated .htm file, it should working now.
I'm sorry if these two feature didn't work as expected in previous version. Nobody was reporting this bug until a user PM'd about this on discord.
Improvements:
- XML validator now runs faster because it doesn't need to display valid xml files in error window
- added more compatibility with butterlib
- added confirmation prompt if the user wants to discard the error report and an attachment was attached to it.
- added more exception handler on native to managed interfaces

Version 6.1
Bugfixes:
- Now the exception handler should handle native code to managed code transitions. Keep in mind it still can't catch exception that occurs purely in native code. If you're experiencing slowdown, it can be disabled via config.json or MCM control panel, let me know if this happens often.
Improvements:
- Improved MCM control panel UI (optional for those running with MCM and Butterlib, BEW can run without these)

v.6.0.0 Major update:
New features:
- "Attempt to continue" button now works at it says. The game will try to continue, but be warned there's possibility of unwanted side effects.
- Screenshot and save game attachments buttons, now you can attach a screenshot and save game to help mod developers. The save game can be extracted by opening the error report into browser and then clicking on Download save button on "Troubleshoot" section.
- Memory dumper, dump stack or heap memory of the game so it can be analysed later using windbg or visual studio
- Show butterlib exception (if you're running with butterlib)
Improvements:
- Dnspy now decompiles every DLL in modules and steam workshop directory.

v.5.1.1:
- put a check if user has ever installed mods from steam workshop. if steam workshop folder doesn't exist, don't parse the folder. 

v5.1.0:
- bugfix from this report https://forums.nexusmods.com/index.php?showtopic=8583183/#entry116679118

v.5.0.0  Major update:
In version 5.0.0, I made tough decision to stop providing support or updates for Bannerlord early access version, switching versions is not fun. From now on, BEW only supports Bannerlord v1.0.0 or later.
Also if you're using older version of MCM, you can't see the BEW control panel anymore (BEW doesn't need MCMv5 but some of debugger feature can be accessed via MCMv5). If you're running e1.9.0, you can still use this version of BEW.

Bugfixes:
- Dnspy now should attach properly (proper callstack, proper exception message in Dnspy window) after the game has been restarted by BEW and with butterlib enabled
- A previous bug where BEW always to be enabled even it's under debugger

New features:
- You can attach Dnspy through BEW control panel via MCMv5 (and it'll automatically loads all Taleworlds dlls into Dnspy window)
- You can install Dnspy directly via MCMv5 control panel.

v.4.3.2:
- Updated for Bannerlord e1.9.0 (do not install for older version, it will crash!)
Steam fix
- fix bugs from this report: https://steamcommunity.com/workshop/filedetails/discussion/2875478172/5277681174362873474/

v.4.3.1:
- Updated for Bannerlord e1.9.0 (do not install for older version, it will crash!)
Steam fix

- Uses ModuleHelper.GetModuleFullPath("BetterExceptionWindow") to pull resource path instead for steam workshop compatibility 
v.4.3:
- Updated for Bannerlord e1.9.0 (do not install for older version, it will crash!)

- fixed dnspy installer SSL error for some windows machine
- fixed occasional empty log bug
- added scroll to the top button tucked in the corner

known issue: if you're using butterlib, when the game is being debugged on dnspy, butterlib window may pop up and messed the callstack, me and aragas is working on this.

v4.2:
-ONLY COMPATIBLE WITH 1.8.0 only! (otherwise you will get hard crash)

- fixed patching issues
- fixed emergency save game function for 1.8.0
- implemented dedicated console window for console.writeline output and game debug output

e4.1:
-backport from v4.1 to maintain compatibility with 1.7.1 (DO NOT INSTALL except this game version)

v4.1.1:
-ONLY COMPATIBLE WITH 1.7.2+ (otherwise you will get hard crash)

-minor patch for butterlib detection

v4.1:
-ONLY COMPATIBLE WITH 1.7.2+(otherwise you will get hard crash)

-option to disable Butterlib exception
-bugfix in MCM dependency detection <- was causing crash

v4.0  Major update:
-ONLY COMPATIBLE WITH 1.7.2+  (otherwise you will get hard crash)

- Screen.Tick was moved to ScreenManager.Tick <- this was crashing the game before
- MCM UI support (optional)

v3.3.1:
-ONLY COMPATIBLE WITH 1.7.0+ (otherwise you will get hard crash)
-UI bugfixes, in version 3.3.0, user can't open "Harmony Patches","Installed mods", and "Loaded DLLs" section in exported HTML report
-fixed a typo : attched -> attached

v3.3 Major update:
- ONLY COMPATIBLE WITH 1.7.0+ (otherwise you will get hard crash upon start)
- UNBLOCK DotNetZip.dll in Win64_Shipping_Client
- implemented integrated dnspy debugger tool
- small UI revamp
- emergency save bugfix because underlying API changes, it's now working as usual

v3.1 Major update:
- ONLY COMPATIBLE WITH 1.6.5 onward!
- implemented harmony debugger
- implemented game engine log display
- bugfix in emergency save system
- replace old APIs with new ones

v2.3:
- removed internal Harmony library.

v2.2:
- the module inspector should only shows loaded DLL in Submodule section
- improved error parsing for detecting faulty module
- restored ctrl+c and ctrl+v in iexplorer window
- restored html export instead PDF or print

v2.1:
- added bugcheck for main program loop, so this should catch any related .Net runtime error in the game
- UI bugfixes
- prevented mod disabler to disable any Native modules

v2.0:
- Implemented more loop checks for Bannerlord version e1.5+
- Implemented Emergency saves (only works in campaigns)
- Implemented XML linter to checks for XML errors and typos
- Implemented auto mods disablers in a single click
- Implemented mods inspector (see their dependencies, which mods were the cause of the crash)

v1.4:
- shows loaded game dlls (mods dlls, taleworlds dlls, except system dlls such as mscorlibs)

v1.3.1:
- Removed a taleworlds view dll from the project

v1.3:
- Compliance with Community Patch module.   
- Source code refactor.  
- Catch inner exception.   
- Triggers on ScreenManager, Mission, MissionView, and Module loop