Improved 'stop in' mechanism, and prevent core dump ir currlang is not set
This commit is contained in:
parent
298fd07712
commit
042d7b2275
3 changed files with 11 additions and 4 deletions
|
@ -837,12 +837,14 @@ DbRead(f)
|
|||
|
||||
if (sc) CurrentScope = sc;
|
||||
}
|
||||
if (! saw_code && !CurrentScope->sc_bp_opp) {
|
||||
CurrentScope->sc_bp_opp = n->on_valu;
|
||||
if (! CurrentScope->sc_start) {
|
||||
else if (! saw_code) {
|
||||
CurrentScope->sc_start = n->on_valu;
|
||||
add_scope_addr(CurrentScope);
|
||||
}
|
||||
}
|
||||
if (!CurrentScope->sc_bp_opp
|
||||
|| CurrentScope->sc_bp_lineno > n->on_desc) {
|
||||
CurrentScope->sc_bp_opp = n->on_valu;
|
||||
CurrentScope->sc_bp_lineno = n->on_desc;
|
||||
}
|
||||
saw_code = 1;
|
||||
add_position_addr(line_file->on_mptr, n);
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "scope.h"
|
||||
#include "Lpars.h"
|
||||
#include "type.h"
|
||||
#include "langdep.h"
|
||||
|
||||
static char *usage = "Usage: %s [<ack.out>] [<a.out>]";
|
||||
char *progname;
|
||||
|
@ -95,6 +96,9 @@ main(argc, argv)
|
|||
reserve(tkidf);
|
||||
reserve(shorts);
|
||||
init_run();
|
||||
if (! currlang) {
|
||||
fatal("could not determine source language. Recompile with -g?");
|
||||
}
|
||||
prompt();
|
||||
Commands();
|
||||
signal_child(SIGKILL);
|
||||
|
|
|
@ -8,6 +8,7 @@ typedef struct scope {
|
|||
struct symbol *sc_definedby; /* symbol defining this scope */
|
||||
long sc_start; /* start address of code of this scope */
|
||||
long sc_bp_opp; /* first breakpoint opportunity */
|
||||
int sc_bp_lineno; /* linenumber belonging to this bp. */
|
||||
short sc_proclevel; /* proc level of this scope */
|
||||
char sc_has_activation_record;
|
||||
} t_scope, *p_scope;
|
||||
|
|
Loading…
Reference in a new issue