more debugging fixes
This commit is contained in:
parent
4eeacd8b7b
commit
16c8d54f0e
24
pl/debug.yap
24
pl/debug.yap
@ -674,24 +674,26 @@ be lost.
|
|||||||
'$do_spy'(G, Mod, CP, spy).
|
'$do_spy'(G, Mod, CP, spy).
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* '$debugger_input': set the input for debugging
|
* @pred debugger_input.
|
||||||
|
* name of stream used for debugging,
|
||||||
|
* must be always connected to a tty.
|
||||||
*
|
*
|
||||||
* try to connect the debugger to an open terminal.
|
* '$debugger_input': try to connect the debugger to an open terminal.
|
||||||
*/
|
*/
|
||||||
'$debugger_input' :-
|
'$debugger_input' :-
|
||||||
stream_property(_,alias(debugger_stream)),
|
stream_property(_,alias(debugger_input)),
|
||||||
!.
|
!.
|
||||||
'$debugger_input' :-
|
'$debugger_input' :-
|
||||||
stream_property(S,tty(true)),
|
stream_property(S,tty(true)),
|
||||||
stream_property(S,input),
|
stream_property(S,input),
|
||||||
!,
|
!,
|
||||||
set_stream(S,alias(debugger_stream)).
|
set_stream(S,alias(debugger_input)).
|
||||||
'$debugger_input' :-
|
'$debugger_input' :-
|
||||||
current_prolog_flag(unix, true ), !,
|
current_prolog_flag(unix, true ), !,
|
||||||
open('/dev/tty', read, S, [alias(debugger_stream)]).
|
open('/dev/tty', read, _S, [alias(debugger_input)]).
|
||||||
'$debugger_input' :-
|
'$debugger_input' :-
|
||||||
current_prolog_flag(windows, true ), !,
|
current_prolog_flag(windows, true ), !,
|
||||||
open('CONIN$', read, S, [alias(debugger_stream)]).
|
open('CONIN$', read, _S, [alias(debugger_input)]).
|
||||||
|
|
||||||
|
|
||||||
% last argument to do_spy says that we are at the end of a context. It
|
% last argument to do_spy says that we are at the end of a context. It
|
||||||
@ -968,7 +970,7 @@ be lost.
|
|||||||
'$action'(10,P,L,G,Module,Debug),
|
'$action'(10,P,L,G,Module,Debug),
|
||||||
put_code(user_error, 10)
|
put_code(user_error, 10)
|
||||||
;
|
;
|
||||||
write(user_error,' ? '), get_code(user_input,C),
|
write(user_error,' ? '), get_code(debugger_input,C),
|
||||||
'$action'(C,P,L,G,Module,Debug)
|
'$action'(C,P,L,G,Module,Debug)
|
||||||
),
|
),
|
||||||
(Debug = on
|
(Debug = on
|
||||||
@ -1021,7 +1023,7 @@ be lost.
|
|||||||
'$action'(10,_,_,_,_,on) :- !, % newline creep
|
'$action'(10,_,_,_,_,on) :- !, % newline creep
|
||||||
nb_setval('$debug_jump',false).
|
nb_setval('$debug_jump',false).
|
||||||
'$action'(0'!,_,_,_,_,_) :- !, % ! 'g execute
|
'$action'(0'!,_,_,_,_,_) :- !, % ! 'g execute
|
||||||
read(user,G),
|
read(debugger_input, G),
|
||||||
% don't allow yourself to be caught by creep.
|
% don't allow yourself to be caught by creep.
|
||||||
'$swi_current_prolog_flag'(debug, OldDeb),
|
'$swi_current_prolog_flag'(debug, OldDeb),
|
||||||
'$swi_set_prolog_flag'(debug, false),
|
'$swi_set_prolog_flag'(debug, false),
|
||||||
@ -1265,15 +1267,15 @@ be lost.
|
|||||||
'$get_sterm_list'(L0,CN,0,L).
|
'$get_sterm_list'(L0,CN,0,L).
|
||||||
|
|
||||||
'$deb_inc_in_sterm_oldie'(94,L0,CN) :- !,
|
'$deb_inc_in_sterm_oldie'(94,L0,CN) :- !,
|
||||||
get_code( debugger_input_input,CN),
|
get_code( debugger_input,CN),
|
||||||
( recorded('$debug_sub_skel',L0,_) -> true ;
|
( recorded('$debug_sub_skel',L0,_) -> true ;
|
||||||
CN = [] ).
|
CN = [] ).
|
||||||
'$deb_inc_in_sterm_oldie'(C,[],C).
|
'$deb_inc_in_sterm_oldie'(C,[],C).
|
||||||
|
|
||||||
'$get_sterm_list'(L0,C,N,L) :-
|
'$get_sterm_list'(L0,C,N,L) :-
|
||||||
( C =:= "^", N =\= 0 -> get_code(CN),
|
( C =:= "^", N =\= 0 -> get_code(debugger_input, CN),
|
||||||
'$get_sterm_list'([N|L0],CN,0,L) ;
|
'$get_sterm_list'([N|L0],CN,0,L) ;
|
||||||
C >= "0", C =< "9" -> NN is 10*N+C-"0", get_code(CN),
|
C >= "0", C =< "9" -> NN is 10*N+C-"0", get_code(debugger_input, CN),
|
||||||
'$get_sterm_list'(L0,CN,NN,L);
|
'$get_sterm_list'(L0,CN,NN,L);
|
||||||
C =:= 10 -> (N =:= 0 -> L = L0 ; L=[N|L0]) ).
|
C =:= 10 -> (N =:= 0 -> L = L0 ; L=[N|L0]) ).
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user