Commit graph

60 commits

Author SHA1 Message Date
goaaats
fb61d72fae Remove legacy corrupted state exceptions entirely 2025-03-28 00:52:06 +01:00
goaaats
97add3fc90 Globally disable legacy corrupted state exceptions for now 2025-03-12 23:23:31 +01:00
goaaats
b21a0c9298 Add console argument/env var to disable legacy corrupted state exceptions policy 2025-03-09 19:34:26 +01:00
srkizer
8ff4662f1f
boot: implement --unhandled-exception=stalldebug (#1690)
Using this option will stall the crashed thread until the debugger
attaches, so that the newly attached debugger can be handed over the
exception, enabling breaking at correct stack location.

`--no-exception-handlers` injector option controlled whether Dalamud
Crash Handler would intercept exceptions before. Those are now either
`default` or `none` option for `--unhandled-exception`.
2024-04-20 21:20:11 -07:00
Soreepeong
7e78b6293b Make RewriteRemoteEntryPointW report IErrorInfo, VirtualProtectEx before WriteProcessMemory 2024-02-13 08:35:51 +09:00
srkizer
0cc28fb39d
Changes to Dalamud Boot DLL so that it works in WINE (#1111)
* Changes to Dalamud Boot DLL so that it works in WINE

* Make asm clearer
2024-02-12 12:56:38 -08:00
marzent
386e5f245c
Make the crash handler work on wine properly (#1636)
* add LoadMethod to DalamudStartInfo
* add to_wstring utility function
* append full injector launch args for VEH
* remove usage of std::chrono::zoned_time
* fix injector arguments in crash handler restart
* enable VEH on wine
* remove dead wine detection code
* write out tspack with std::fstream
* fix off-by-one error in get_window_string()
* remove usage of std::chrono when writing tspack
* do not deadlock on crashing DalamudCrashHandler
2024-02-11 13:01:34 -08:00
srkizer
5777745ab3
Add injector option to not apply any exception handlers (#1541)
* Add injector option to not apply any exception handlers

* Log as warning if NoExceptionHandlers is set
2023-12-07 05:06:39 +00:00
Kaz Wolfe
2acba2b81f
Update Dalamud.Boot to use extra import checks
- Ports extra import checks to Dalamud Boot
- Renames is_running_on_linux to is_running_on_wine
- Update relevant logging string for VEH
2023-09-12 17:07:46 -07:00
kizer
58ceb1dc87
Offer to restart game from VEH exception handler (#936) 2022-07-26 21:14:48 +02:00
goat
805a887f2e
feat: add minidump writer 2022-07-24 18:49:46 +02:00
marzent
78172f06d1
Change Dalamud.Boot abort behaviour on detach (#925) 2022-07-23 15:26:46 +02:00
kizer
8e7f370ddd
Load services asynchronously whenever possible (#893) 2022-06-24 22:12:51 +02:00
goaaats
8744e82979
feat: make ETW configurable, doesn't actually do anything yet because we're stuck on .NET 5 2022-06-22 16:58:53 +02:00
goaaats
72b18dd2b5
chore: don't wait for game window in Dalamud.Boot 2022-06-20 22:25:15 +02:00
goaaats
92518e22b0
chore: indicate which messagebox we are waiting for 2022-06-20 18:21:09 +02:00
goaaats
192396abdc
feat: set boot defaults via json 2022-06-19 12:24:18 +02:00
goaaats
5c3c22490d
feat: get boot log path from DalamudStartInfo 2022-06-19 12:17:37 +02:00
kizer
ce49874935
Write Dalamud.Boot log to TEMP, then CWD (#886) 2022-06-19 11:42:41 +02:00
kizer
04cdd3338f
Make more stuff loggable (#885) 2022-06-17 21:06:38 +02:00
kizer
2f4c0bbc97
Update logging to reflect msvc updates on std::format (#883) 2022-06-17 10:28:10 +02:00
kizer
71f3680388
Fix nullptr problems (#878) 2022-06-04 13:45:22 +02:00
kizer
c5f84eb27d
Add option to use global import hook instead of MinHook for OpenProcess (#860) 2022-05-30 17:54:29 +02:00
goaaats
d0213ebcfd
chore: more logging 2022-05-29 20:08:21 +02:00
kizer
b6237267ce
Workaround nuke not autoaddling dep lib (#859)
* #pragma comment(lib, <minhook lib>)

* Fix logging path, and make common files not use pch

* Move lib import to vcproj from pragma

* a

* Make copy of vcxproj for minhook from submodule to lib dir

* nuke it

* .
2022-05-29 19:18:00 +02:00
kizer
dbb0cb3d56
Use MinHook on cpp side too (#858)
Co-authored-by: goaaats <goatsdev@protonmail.com>
2022-05-29 17:33:57 +02:00
goaaats
a7540d0fef
feat: write Dalamud.Boot logs to dalamud.boot.log 2022-05-29 17:25:29 +02:00
kizer
75de126c9d
Implement xiv fixes into Dalamud.Boot (#857) 2022-05-28 19:11:03 +02:00
goaaats
d2335274ee
feat: delay main thread continuation until GameFixes are applied
This is a temporary workaround until we have infrastructure to intercept winapi in C++
2022-05-27 14:12:15 +02:00
goaaats
3cf47f7ec4
chore: make DALAMUD_WAIT_DEBUGGER actually freeze process 2022-05-26 00:46:58 +02:00
goaaats
524d100bdc
chore: change VEH env var, add var to enable full dumps 2022-05-18 18:33:34 +02:00
kizer
9a38a9470c
Fix inject problems (#820)
* CoreCLR: resolve and load nethost on demand instead of requiring it on load

* Remove nethost loading from C# side

* Added option to not chain Process.Dispose; see for last error only if result is empty
2022-04-25 10:13:32 +02:00
goaaats
cac814905e
Revert "chore: turn VEH back on for everyone"
This reverts commit ffaf0febb3.
2021-12-25 03:36:38 +01:00
goaaats
ffaf0febb3
chore: turn VEH back on for everyone 2021-12-24 13:06:19 +01:00
goaaats
b612711ef6
chore: only enable VEH on staging 2021-12-24 05:00:57 +01:00
Soreepeong
e64cc7e687 Print dotnet stack trace on veh error msgbox, and use precompiled headers. 2021-12-24 12:23:23 +09:00
goaaats
97cf742819
feat: DALAMUD_HAVE_VEH env var, disable by default 2021-12-23 16:11:46 +01:00
goaaats
78efd885b7
fix: add is_veh_enabled func 2021-12-23 15:57:26 +01:00
goaaats
ca1f5baee4
fix: use GetEnvironmentVariableW instead of getenv 2021-12-23 15:48:04 +01:00
goaaats
04bf21af78
chore: turn VEH back on, add DALAMUD_NO_VEH env var 2021-12-23 15:39:37 +01:00
goaaats
057052e12c
fix: remove VEH for now, yet again 2021-12-09 01:24:00 +01:00
goat
e9be05f6bf
feat: re-VEH 2021-11-04 12:50:29 +01:00
goat
810909fab2
fix: temporary un-VEH-ing 2021-11-04 12:41:46 +01:00
pohky
6e391779f8 Update dllmain.cpp
- check XL_WINEONLINUX env var
2021-11-01 22:09:47 +01:00
pohky
bddc1e1365 disable veh and symbolhandler for linux 2021-11-01 20:19:35 +01:00
pohky
ff5dc1fa04 veh clean up and more log info 2021-10-31 23:37:24 +01:00
pohky
e80a24fb97 move the VEH out of dllmain 2021-10-30 23:02:18 +02:00
pohky
48f70c134a Update dllmain.cpp
add a VEH for testing
2021-10-30 21:10:24 +02:00
Raymond
68526e3cea close streams before freeconsole, dialog doesnt hang 2021-09-16 08:59:46 -04:00
goat
bce65db082
fix: #ifndef instead of !defined() 2021-09-15 01:45:23 +02:00