diff options
author | Luca Falavigna <dktrkranz@debian.org> | 2014-04-26 15:11:58 +0200 |
---|---|---|
committer | Luca Falavigna <dktrkranz@debian.org> | 2014-04-26 15:11:58 +0200 |
commit | a3a0ab66f0da855e75e3a0e2acfb8aa106b46510 (patch) | |
tree | 5352edff1387c3d7e5a8b49ec56524f085c22782 /src/engine/SCons/Debug.py | |
parent | 51fa4e4acb6fc8fc7a2af0fbdc21fd1e8feddb3a (diff) | |
parent | 140d836e9cd54fb67b969fd82ef7ed19ba574d40 (diff) |
Merge tag 'upstream/2.3.1'
Upstream version 2.3.1
Diffstat (limited to 'src/engine/SCons/Debug.py')
-rw-r--r-- | src/engine/SCons/Debug.py | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/engine/SCons/Debug.py b/src/engine/SCons/Debug.py index 41b0ab6..08d7570 100644 --- a/src/engine/SCons/Debug.py +++ b/src/engine/SCons/Debug.py @@ -6,7 +6,7 @@ needed by most users. """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -28,13 +28,17 @@ needed by most users. # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Debug.py 2013/03/03 09:48:35 garyo" +__revision__ = "src/engine/SCons/Debug.py 2014/03/02 14:18:15 garyo" import os import sys import time import weakref +# Global variable that gets set to 'True' by the Main script, +# when the creation of class instances should get tracked. +track_instances = False +# List of currently tracked classes tracked_classes = {} def logInstanceCreation(instance, name=None): @@ -109,14 +113,15 @@ else: return res[4] # returns caller's stack -def caller_stack(*backlist): +def caller_stack(): import traceback - if not backlist: - backlist = [0] + tb = traceback.extract_stack() + # strip itself and the caller from the output + tb = tb[:-2] result = [] - for back in backlist: - tb = traceback.extract_stack(limit=3+back) - key = tb[0][:3] + for back in tb: + # (filename, line number, function name, text) + key = back[:3] result.append('%s:%d(%s)' % func_shorten(key)) return result |