[m-users.] Debugging with foreign types

Matthias Güdemann matthias.guedemann at googlemail.com
Fri May 29 03:15:37 AEST 2015


> I have posted to the reviews list a patch supporting this feature.
> Would you be willing to test it out?

I applied the patch to 14.01.1 and build a few grades to get the
modified debugger.

It works as intended with the gmp_int type:

,----
| Melbourne Mercury Debugger, mdb version 14.01.1.
| Copyright 1998-2014 The University of Melbourne.
| mdb is free software, covered by the GNU General Public License.
| There is absolutely no warranty for mdb.
|        1:      1  1 CALL pred gmp_int_test.main/2-0 (det) gmp_int_test.m:13
| mdb> break 70
| Registering debuggable procedures... done.
| There are 115 debuggable modules, with a total of 9668 procedures.
|  0: + stop  linenumber gmp_int_test.m:70
| mdb> c
---8<---
--->8---
|      478:    209  2 CALL func gmp_int.>>/2-0 (det) gmp_int.m:460 (gmp_int_test.m:70)
| mdb> f
|      479:    209  2 EXIT func gmp_int.>>/2-0 (det) gmp_int.m:460 (gmp_int_test.m:70)
| mdb> v
|         1 A (arg 1)
|         2 N (arg 2)
|         3 C (arg 3)
| mdb> query
| ?- [gmp_int].
| :- import_module gmp_int.
| ?- S0 = to_string(A), S1 = to_string(C).
| <stdin>:001: Inferred :- pred query(mdb_query.inputs, string, string).
| S0 = "123456789123456789123456789", S1 = "120563270628375770628375", true ;
| fail.
| No (more) solutions.
`----

Thanks a lot, this is great and really helpful!

Matthias



More information about the users mailing list