Skip to content

Commit f7f3a5a

Browse files
committed
Merge remote-tracking branch 'upstream/dev' into dev
2 parents bf27e27 + b0fa0a4 commit f7f3a5a

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

pydumpling/fake_types.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def __init__(self, traceback=None):
6666
self.tb_lineno = traceback.tb_lineno if traceback else None
6767
self.tb_next = FakeTraceback(
6868
traceback.tb_next) if traceback and traceback.tb_next else None
69-
self.tb_lasti = 0
69+
self.tb_lasti = traceback.tb_lasti if traceback else 0
7070

7171

7272
class FakeFrame(FakeType):
@@ -78,6 +78,8 @@ def __init__(self, frame):
7878
self.f_globals = self._convert_dict(frame.f_globals)
7979
self.f_lineno = frame.f_lineno
8080
self.f_back = FakeFrame(frame.f_back) if frame.f_back else None
81+
self.f_lasti = frame.f_lasti
82+
self.f_builtins = frame.f_builtins
8183

8284

8385
class FakeClass(FakeType):
@@ -107,6 +109,8 @@ def __init__(self, code):
107109
code, "co_lines") else []
108110
if hasattr(code, "co_kwonlyargcount"):
109111
self.co_kwonlyargcount = code.co_kwonlyargcount
112+
if hasattr(code, "co_positions"):
113+
self.co_positions = code.co_positions
110114

111115
def co_lines(self):
112116
return iter(self._co_lines)

pydumpling/pydumpling.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,20 @@
1414
def save_dumping(filename=None, tb=None):
1515
try:
1616
if tb is None:
17-
tb = sys.exc_info()[2]
17+
exc_type, exc_value, exc_tb = sys.exc_info()
1818

1919
if filename is None:
2020
filename = "%s:%d.dump" % (
21-
tb.tb_frame.f_code.co_filename, tb.tb_frame.f_lineno)
21+
exc_tb.tb_frame.f_code.co_filename, exc_tb.tb_frame.f_lineno)
2222

23-
fake_tb = FakeTraceback(tb)
23+
fake_tb = FakeTraceback(exc_tb)
2424
dumpling = {
2525
"traceback": fake_tb,
2626
"version": __version__,
27+
"exc_extra": {
28+
"exc_type": exc_type,
29+
"exc_value": exc_value,
30+
},
2731
"dump_type": "DILL"
2832
}
2933
with gzip.open(filename, "wb") as f:

0 commit comments

Comments
 (0)