mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-23 13:23:47 +00:00
Estimated hours taken: 1.5 tests/debugger/polymorphic_output.exp3: Add another valid debugger output for this test case. This output occurs when the standard library was compiled in a non-debug grade, with `-O1 --opt-space'; in that case, std_util__det_arg calls std_util__arg which throws an exception, and then since the call stack contains an address in std_util__det_arg, which was compiled without debugging information enabled, we get a warning "internal label not found". The normal output, in the `.exp' file, occurs when the standard library is compiled with `-O2'. In that case, the call to std_util__arg gets inlined, and so the caller address is in the calling module polymorphic_output, which gets compiled with `--trace deep'.
18 lines
536 B
Plaintext
18 lines
536 B
Plaintext
1: 1 1 CALL pred polymorphic_output:main/2-0 (det) polymorphic_output.m:20
|
|
mdb> echo on
|
|
Command echo enabled.
|
|
mdb> register --quiet
|
|
mdb> context none
|
|
Contexts will not be printed.
|
|
mdb> b std_util__det_arg
|
|
mdb: there is no such procedure.
|
|
mdb> c
|
|
mdb: warning: internal label not found
|
|
|
|
This may result in some exception events
|
|
being omitted from the trace.
|
|
Uncaught exception:
|
|
Software Error: det_arg: argument number out of range
|
|
Last trace event was event #4.
|
|
Last trace event before the unhandled exception was event #4.
|