Comments (3)
It depends how the stack is corrupted.
DrMinGW should always show the address of the function where a crash happened.
But if the stack is corrupted, then the IP register address might also become corrupted (e.g, when a function returns and pops garbagge return address.) If that's what's happening, then there's really nothing DrMinGW can do...
If you can paste DrMinGW's output that would help to understand.
from drmingw.
from drmingw.
Stack back trace looks reasonable. IIUC, this is https://github.com/Zero3K/hpsx64, a Playstation 1 emulator you're working on. I suppose the 000001D985850000 address range is JIT x86 code, dynamically translated from Playstation's CPU code, right?
DrMinGW will never be able to deal with JIT x86 code perfectly, as there is no debugging information for that.
If you ensure your dynamically generated x86 code always setups frame pointer (RBP), that will help DrMinGW to unwind the stack. But it will won't know anything about these functions.
For such especiallized applications which deal with lots of x86 dynamic code, my recomendation would be to catch the exception in-process, and walk the stack yourself. You can still use MgwHelp DLL to help you resolve MinGW symbols though, but you'd need to look up JIT code yourself.
I hope this helps / makes sense.
from drmingw.
Related Issues (20)
- Faulting location incorrect if executable uses ASLR. HOT 3
- No source code is showing for projects built with MSYS2 HOT 4
- Reason for erroring out with posix threads? HOT 2
- Can exchndl be made to catch RaiseFailFastException? HOT 4
- catchsegv not resolving gnu_debuglink correctly HOT 8
- catchsegv clobbers Unicode arguments
- Feature request: Support ARM64 HOT 23
- Feature request: Allow opt-in to use system provided zlib HOT 1
- ExcHndl.dll can't print the crash call stack under Windows 7 HOT 20
- Dumping register values on x86_64 HOT 1
- Write minidump from exchndl.dll
- Support minidump locations/filenames containing unicode (wide char) characters HOT 4
- Release 0.9.8: Naming of link libraries different between 32 and 64 bit HOT 3
- What is the minimal OS to run the official drmingw release? HOT 2
- libwinpthread-1.dll missing from release HOT 9
- Save the result automatically HOT 3
- Is it possible to update drmingw to the latest version in the msys2 package? HOT 2
- better sample code in the home page HOT 1
- exchndl problem HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from drmingw.