add some debugging BREADCRUMBS to identify caller of some functions

Only takes effect if a developer uncomments BREADCRUMBS in config.h
This commit is contained in:
nhmall
2019-06-03 18:37:45 -04:00
parent cccdeb6b01
commit fd585a58c2
5 changed files with 90 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 config.h $NHDT-Date: 1558248715 2019/05/19 06:51:55 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.122 $ */
/* NetHack 3.6 config.h $NHDT-Date: 1559601008 2019/06/03 22:30:08 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.123 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2016. */
/* NetHack may be freely redistributed. See license for details. */
@@ -526,6 +526,12 @@ typedef unsigned char uchar;
* probably not useful for normal play */
/* #define EXTRA_SANITY_CHECKS */
/* BREADCRUMBS employs the use of predefined compiler macros
* __FUNCTION__ and __LINE__ to store some caller breadcrumbs
* for use during heavy debugging sessions. Only define if your
* compiler supports those predefined macros and you are debugging */
/* #define BREADCRUMBS */
/* EDIT_GETLIN makes the string input in TTY, curses, Qt4, and X11
for some prompts be pre-loaded with previously input text (from
a previous instance of the same prompt) as the default response.

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 decl.h $NHDT-Date: 1547025154 2019/01/09 09:12:34 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.147 $ */
/* NetHack 3.6 decl.h $NHDT-Date: 1559601011 2019/06/03 22:30:11 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.150 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2007. */
/* NetHack may be freely redistributed. See license for details. */
@@ -431,6 +431,12 @@ struct plinemsg_type {
E struct plinemsg_type *plinemsg_types;
struct breadcrumbs {
const char *funcnm;
int linenum;
boolean in_effect;
};
#ifdef PANICTRACE
E const char *ARGV0;
#endif

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 extern.h $NHDT-Date: 1559422206 2019/06/01 20:50:06 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.707 $ */
/* NetHack 3.6 extern.h $NHDT-Date: 1559601014 2019/06/03 22:30:14 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.708 $ */
/* Copyright (c) Steve Creps, 1988. */
/* NetHack may be freely redistributed. See license for details. */
@@ -127,8 +127,15 @@ E void FDECL(uchangealign, (int, int));
E void FDECL(ballrelease, (BOOLEAN_P));
E void NDECL(ballfall);
#ifndef BREADCRUMBS
E void NDECL(placebc);
E void NDECL(unplacebc);
#else
E void FDECL(Placebc, (const char *, int));
E void FDECL(Unplacebc, (const char *, int));
#define placebc() Placebc(__FUNCTION__, __LINE__)
#define unplacebc() Unplacebc(__FUNCTION__, __LINE__)
#endif
E void FDECL(set_bc, (int));
E void FDECL(move_bc, (int, int, XCHAR_P, XCHAR_P, XCHAR_P, XCHAR_P));
E boolean FDECL(drag_ball, (XCHAR_P, XCHAR_P, int *, xchar *, xchar *,