digitalmars.D.debugger - Which debugger can explain InvalidMemoryOperationError?
- Victor Porton (12/12) Jan 17 2019 After main() of my program finishes, I have this error message:
- Alex (7/18) Jan 17 2019 Which operating system do you use? And which compiler version?
- Victor Porton (12/37) Jan 17 2019 No, for me my bug is worse than #2820: I do not see any stack
- Victor Porton (9/20) Jan 17 2019 I've tried it with plain GDB 8.2.
- Rainer Schuetze (7/38) Jan 17 2019 You might want to set a breakpoint on function
- kinke (3/6) Jan 18 2019 He's using LDC, so he'll just need to specify
After main() of my program finishes, I have this error message: core.exception.InvalidMemoryOperationError core/exception.d(700): Invalid memory operation Which debugger (preferably with a GUI interface) do you suggest to investigate this error? I tried DDD and KDbg. In DDD when I set `catch throw InvalidMemoryOperationError` or `catch throw core.exception.InvalidMemoryOperationError`, the exception is not called nevertheless. In KDbg, I don't see any way to set an exception breakpoint, at all. I use LDC2.
Jan 17 2019
On Thursday, 17 January 2019 at 16:37:55 UTC, Victor Porton wrote:After main() of my program finishes, I have this error message: core.exception.InvalidMemoryOperationError core/exception.d(700): Invalid memory operation Which debugger (preferably with a GUI interface) do you suggest to investigate this error? I tried DDD and KDbg. In DDD when I set `catch throw InvalidMemoryOperationError` or `catch throw core.exception.InvalidMemoryOperationError`, the exception is not called nevertheless. In KDbg, I don't see any way to set an exception breakpoint, at all. I use LDC2.Which operating system do you use? And which compiler version? Is this maybe another occurrence of https://github.com/ldc-developers/ldc/issues/2820 ? If so, do you have a usable minimal example of your code to post and try it out?
Jan 17 2019
On Thursday, 17 January 2019 at 20:41:27 UTC, Alex wrote:On Thursday, 17 January 2019 at 16:37:55 UTC, Victor Porton wrote:trace. I do not claim that there is a bug in a compiler (actually I am almost sure that it is my mistake and I do something like freeing memory twice). I need help to get a stack trace for the very reason that I do not want to spend time producing a minimal example, but want to use a debugger instead. Ubuntu Linux 18.10. $ ldc2 --version LDC - the LLVM D compiler (1.11.0): based on DMD v2.081.2 and LLVM 6.0.1After main() of my program finishes, I have this error message: core.exception.InvalidMemoryOperationError core/exception.d(700): Invalid memory operation Which debugger (preferably with a GUI interface) do you suggest to investigate this error? I tried DDD and KDbg. In DDD when I set `catch throw InvalidMemoryOperationError` or `catch throw core.exception.InvalidMemoryOperationError`, the exception is not called nevertheless. In KDbg, I don't see any way to set an exception breakpoint, at all. I use LDC2.Which operating system do you use? And which compiler version? Is this maybe another occurrence of https://github.com/ldc-developers/ldc/issues/2820 ? If so, do you have a usable minimal example of your code to post and try it out?
Jan 17 2019
On Thursday, 17 January 2019 at 16:37:55 UTC, Victor Porton wrote:After main() of my program finishes, I have this error message: core.exception.InvalidMemoryOperationError core/exception.d(700): Invalid memory operation Which debugger (preferably with a GUI interface) do you suggest to investigate this error? I tried DDD and KDbg. In DDD when I set `catch throw InvalidMemoryOperationError` or `catch throw core.exception.InvalidMemoryOperationError`, the exception is not called nevertheless. In KDbg, I don't see any way to set an exception breakpoint, at all. I use LDC2.I've tried it with plain GDB 8.2. The following does not work: catch throw InvalidMemoryOperationError catch throw core.exception.InvalidMemoryOperationError Despite of the above commands, the exception is not caught and so I am unable to see the callstack which has led to the exception. Please help me to find a way to see the callstack in order to be able to debug my software!
Jan 17 2019
On 17/01/2019 23:12, Victor Porton wrote:On Thursday, 17 January 2019 at 16:37:55 UTC, Victor Porton wrote:You might want to set a breakpoint on function onInvalidMemoryOperationError. Probably this is the function that is throwing the error. Debugging experience will likely improve if you build the runtime library with debug information. (see https://wiki.dlang.org/Building_under_Posix).After main() of my program finishes, I have this error message: core.exception.InvalidMemoryOperationError core/exception.d(700): Invalid memory operation Which debugger (preferably with a GUI interface) do you suggest to investigate this error? I tried DDD and KDbg. In DDD when I set `catch throw InvalidMemoryOperationError` or `catch throw core.exception.InvalidMemoryOperationError`, the exception is not called nevertheless. In KDbg, I don't see any way to set an exception breakpoint, at all. I use LDC2.I've tried it with plain GDB 8.2. The following does not work: catch throw InvalidMemoryOperationError catch throw core.exception.InvalidMemoryOperationError Despite of the above commands, the exception is not caught and so I am unable to see the callstack which has led to the exception. Please help me to find a way to see the callstack in order to be able to debug my software!
Jan 17 2019
On Friday, 18 January 2019 at 07:48:21 UTC, Rainer Schuetze wrote:Debugging experience will likely improve if you build the runtime library with debug information. (see https://wiki.dlang.org/Building_under_Posix).He's using LDC, so he'll just need to specify `-link-defaultlib-debug` in the LDC command line.
Jan 18 2019