Commit Graph

75 Commits

Author SHA1 Message Date
Adam Klein
00772e4d37 [grokdump] Fix --web instruction output for ARM disassembly
Fixes instruction names to be all in one <td>, rather than being
split between two due to miscalculation of op_offset.

Change-Id: Ieef5d20c238c8e0a5b2316239324d375090006a1
Reviewed-on: https://chromium-review.googlesource.com/777761
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49463}
2017-11-18 00:45:37 +00:00
Camillo Bruni
38c902de3e [tools] Increase limits to find stack messages in grokdump.py
Change-Id: I3b7e5f4fb9bc6cdad3582e19099fb97b2a0c7cb0
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/684185
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48258}
2017-10-02 10:09:05 +00:00
Camillo Bruni
f199674bed [tools] Harden a few more corners in grokdump.py
Change-Id: If7db250e242350f83b368b33b60399afd5312b36
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/654658
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47872}
2017-09-07 12:21:04 +00:00
Camillo Bruni
a5dfa52e08 [tools] Show more help information grokdump.py
The help output prints the first line of the doc string.

Change-Id: I76817d5138b7bb7ba8034c6a5d803b5aaf1201f7
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/654603
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47871}
2017-09-07 12:19:04 +00:00
Julien Brianceau
b41f857b9e Fix common misspellings
Bug: chromium:750830
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.v8:v8_linux_noi18n_rel_ng
Change-Id: Icab7b5a1c469d5e77d04df8bfca8319784e92af4
Reviewed-on: https://chromium-review.googlesource.com/595655
Commit-Queue: Julien Brianceau <jbriance@cisco.com>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47072}
2017-08-02 09:35:28 +00:00
Yang Guo
89ef9556d7 Reland: Introduce HASH_TABLE_TYPE instance type.
This is so that we can distinguish hash tables by instance type. We can
then introduce maps for each kind of hash tables to further distinguish.

R=mstarzinger@chromium.org

Bug: v8:6593
Change-Id: Ice9e6bb7b85d825207ac489b6930ac9020d60db8
Reviewed-on: https://chromium-review.googlesource.com/582814
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46861}
2017-07-25 09:19:46 +00:00
Yang Guo
f4867154c4 Revert "Introduce HASH_TABLE_TYPE instance type."
This reverts commit 990dd947bc.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Introduce HASH_TABLE_TYPE instance type.
> 
> This is so that we can distinguish hash tables by instance type. We can
> then introduce maps for each kind of hash tables to further distinguish.
> 
> R=​mstarzinger@chromium.org
> 
> Bug: v8:6593
> Change-Id: I1a532884758e571abdfe2e2743fc5ea611d12f7e
> Reviewed-on: https://chromium-review.googlesource.com/581009
> Commit-Queue: Yang Guo <yangguo@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#46828}

TBR=yangguo@chromium.org,mstarzinger@chromium.org

Change-Id: Ia47d408e5cf47983940227b4cc445a704d7f8d19
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:6593
Reviewed-on: https://chromium-review.googlesource.com/581493
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46833}
2017-07-24 07:33:52 +00:00
Yang Guo
990dd947bc Introduce HASH_TABLE_TYPE instance type.
This is so that we can distinguish hash tables by instance type. We can
then introduce maps for each kind of hash tables to further distinguish.

R=mstarzinger@chromium.org

Bug: v8:6593
Change-Id: I1a532884758e571abdfe2e2743fc5ea611d12f7e
Reviewed-on: https://chromium-review.googlesource.com/581009
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46828}
2017-07-24 06:04:29 +00:00
Camillo Bruni
0f2106469c [tools] Fix frame marker printing on x64 in grokdump.py
Change-Id: I744d6ffca3747c166e8de194c2a7196b46b73f45

NOTRY=true

Change-Id: I744d6ffca3747c166e8de194c2a7196b46b73f45
Reviewed-on: https://chromium-review.googlesource.com/493748
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45061}
2017-05-03 12:44:27 +00:00
Camillo Bruni
4fad53a511 [tools] Fix bugs in grokdump
NOTRY=true

Change-Id: I08b5bf55960d8a2f4e29fc278bd4ff79b8ba7f98
Reviewed-on: https://chromium-review.googlesource.com/472806
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44519}
2017-04-10 12:28:30 +00:00
Camillo Bruni
92f435c048 [tools] Further improve grokdump
- Add long command names for better first-time experience
- Try to auto-detect the context object on the stack
- Mark free space object ranges
- Add print/p command to evaluate arbitrary python code
- Address expressions can now be arbitrary Python expression with auto
  register substition
- New dso command finds possible HeapObjects on the stack/memory
- New dsa command prints PushStackTraceAndDie message and values

Change-Id: I0f178077f0ccef887aa3fdd2d2d2d732925948ea
NOTRY=true

Change-Id: I0f178077f0ccef887aa3fdd2d2d2d732925948ea
Reviewed-on: https://chromium-review.googlesource.com/468866
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44430}
2017-04-06 09:00:04 +00:00
Camillo Bruni
e24b0e1ef1 [tools] Directly show message from PushStackTraceAndDie in grokdump.py
This CL adds support to parse a PushStackTraceAndDie dump on a windows
minidump:
  Stack Message:
    magic1:        00000000bbbbbbbb
    magic2:        00000000bbbbbbbb
    ptr1:          00000015f9ca78d1 T
    ptr2:          0000000000000000
    message start: 00000000002c58f0 S
    stack_start:   00000000002cd8f0 S

All addresses within the message are annotated with the address marker to
make it easier to spot objects that are contained in the minidump.
Currently this doesn't work on OSX yet as we do not correctly push the two
magic markers on the stack.

Change-Id: I8385bb66a76bd253c4014bc7e25971d03830dd4d
Reviewed-on: https://chromium-review.googlesource.com/466007
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44339}
2017-04-03 14:12:15 +00:00
Camillo Bruni
5ca9632e51 [tools] Improve grokdump.py
- Add new address markers:
   T: tagged pointer in the minidump
   C: address into a module in the minidump
   S: pointer into the exception stack in the minidump
   *: other address in the minidump
- Show ASCII decoding of address in dd
- Display potential frame markers on the exception stack:
   00000032212fdae8: 0000000300000000   ........ Smi(3) EXIT frame marker
- Display relative addresses, useful to detect stack frames:
   00000032212fdb68: 00000032212fdb98 S ........  [+6]=00000032212fdcb0 S
   00000032212fdb70: 0000010ff5ca0a84   ........
   00000032212fdb78: 000001064c1fa881   ........
   00000032212fdb80: 0000016a8e52fcb1   ........
   00000032212fdb88: 0000010ff5ca0981   ........
   00000032212fdb90: 0000000d00000000   ........ Smi(13) INTERNAL frame marker
   00000032212fdb98: 00000032212fdcb0 S ........  [+35]=00000032212fdd61 S

Change-Id: I56bd7e6723a34bcb668719246dd5ff2898224928
Reviewed-on: https://chromium-review.googlesource.com/461862
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44269}
2017-03-30 13:38:31 +00:00
Camillo Bruni
984c3717f1 [tools] Improve grokdump
- support register expression for addresses, e.g.: $r15-1
- show whether addresses are in the minidump with "*"
- show decoded Smis with dd
- dd without arguments continues printing the next words

Change-Id: I1a6a4f9f470c25eee7da1381014252e723ef5f7c
Reviewed-on: https://chromium-review.googlesource.com/461900
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44192}
2017-03-28 13:21:47 +00:00
Toon Verwaest
1826f09c58 [grokdump] Update grokdump to decode new map layouts, and dump-heap-constants to 512kb pages
BUG=

Change-Id: I5e60705764b8ea20b171981cdd44d57a928fa34d
Reviewed-on: https://chromium-review.googlesource.com/461178
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44188}
2017-03-28 12:07:01 +00:00
jarin
32db0de4d9 [grokdump] Fix typo in the search address form.
Review-Url: https://codereview.chromium.org/2749843002
Cr-Commit-Position: refs/heads/master@{#43789}
2017-03-14 14:54:42 +00:00
jarin
a87f0cfa7c [grokdump] Web iface: fix stack summary, add buffering.
Review-Url: https://codereview.chromium.org/2389553002
Cr-Commit-Position: refs/heads/master@{#39945}
2016-10-04 08:37:16 +00:00
cbruni
031a04c6e9 [tools] Reduce grokdump output size
Minidumps have gotten bigger stack ranges leading to long load times when using
grokdump's web interface. A major factor seems to be the output size of the
generated table. Using shorter class names and avoiding quotes for most
attributes we can get a significant size reduction.

BUG=

Review-Url: https://codereview.chromium.org/2352303002
Cr-Commit-Position: refs/heads/master@{#39589}
2016-09-21 11:07:44 +00:00
ulan
d903c5c0e5 Add ARM64 suppport to grokdump.py
Constants are taken from chromium/src/google_breakpad/common/minidump_cpu_arm64.h

BUG=

Review URL: https://codereview.chromium.org/1149293005

Cr-Commit-Position: refs/heads/master@{#28785}
2015-06-03 11:07:31 +00:00
erikcorry
f2eb98b900 Tiny fix to grokdump heap stats printer
R=hpayer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1164693002

Cr-Commit-Position: refs/heads/master@{#28730}
2015-06-01 14:54:17 +00:00
erikcorry
2cb3920688 grokdump.py - some support for on-stack HeapStats
R=ulan@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1142343009

Cr-Commit-Position: refs/heads/master@{#28694}
2015-05-29 09:05:06 +00:00
erikcorry
9079b99ad4 grokdump.py: work around int size limits on xrange
R=hpayer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1158933007

Cr-Commit-Position: refs/heads/master@{#28680}
2015-05-28 13:12:17 +00:00
ishell
0e499bfe4a [grokdump] Annoying line wrapping fixed.
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1136443002

Cr-Commit-Position: refs/heads/master@{#28294}
2015-05-07 10:43:41 +00:00
hpayer
59be4ba7f4 Reland "Merge old data and pointer space."
This reverts commit cbfcee5575.

BUG=

Review URL: https://codereview.chromium.org/1051233002

Cr-Commit-Position: refs/heads/master@{#27623}
2015-04-07 11:32:10 +00:00
hpayer
cbfcee5575 Revert "Merge old data and pointer space."
TBR=verwaest@chromium.org,ulan@chromium.org,ishell@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/1027463002

Cr-Commit-Position: refs/heads/master@{#27323}
2015-03-19 22:03:32 +00:00
hpayer
257ff48931 Merge old data and pointer space.
BUG=

Review URL: https://codereview.chromium.org/1012023002

Cr-Commit-Position: refs/heads/master@{#27259}
2015-03-18 09:39:03 +00:00
ishell
ab64150956 Minor tools/grokdump improvements: avoid some None dereferences and add some line breaks to generated html pages.
Review URL: https://codereview.chromium.org/943573002

Cr-Commit-Position: refs/heads/master@{#26752}
2015-02-19 14:36:24 +00:00
ishell
21b2ea80f7 Grokdump workaround for different layout of *_LIST structures written to minidumps on Mac.
Review URL: https://codereview.chromium.org/902853002

Cr-Commit-Position: refs/heads/master@{#26456}
2015-02-05 11:47:14 +00:00
ishell
eecfb92748 Extend grokdump's dd command with a second optional parameter defining number of words to dump.
Review URL: https://codereview.chromium.org/845713002

Cr-Commit-Position: refs/heads/master@{#26007}
2015-01-09 11:52:30 +00:00
yangguo@chromium.org
c71976d55a Also rename ascii to one-byte in tool scripts.
TBR=marja@chromium.org

Review URL: https://codereview.chromium.org/561743002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:56:19 +00:00
jochen@chromium.org
d5980902be When dumping the stack, try to print contents as ASCII
This makes it easier to find strings that are on the stack for debugging

BUG=none
LOG=n
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/132503005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:16:43 +00:00
jarin@chromium.org
425974e7cc Web page front-end for grokdump.
This is a prototype to start discussion about useful features for
a better/friendlier minidump analysis tool.

The change adds an -w option to grokdump.py. With the option on,
grokdump will launch a web server and web browser for browsing the
minidump. It also supports adding persistent comments and listing +
browsing other minidumps (in the same directory) without the need to
restart the web server.

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/194573005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:05:01 +00:00
jkummerow@chromium.org
fd6996ffab grokdump: Compute correct call destinations and display them in-place
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/148493008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 11:49:07 +00:00
verwaest@chromium.org
8754a25197 Fix string and descriptor array decoding in grokdump.
BUG=
R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23465027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 09:37:31 +00:00
jkummerow@chromium.org
cab5e052f3 grokdump: fix Oddball printing
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/22852021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 08:17:54 +00:00
mstarzinger@chromium.org
fde19b3f39 Add frame pointer markup to grokdump.
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/22556002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 08:57:25 +00:00
mstarzinger@chromium.org
12c8d36331 Generate grokdump constants with 'make grokdump' now.
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/21771002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 09:02:02 +00:00
mstarzinger@chromium.org
ce81b0d3a8 ES6: Implement WeakSet
WeakSets work similar to ordinary Sets but the value (which must be an
object) is held weakly.

This is available under --harmony-collections

BUG=v8:2785
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/19678023

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-22 08:32:24 +00:00
mvstanton@chromium.org
d594fd5de3 Grokdump: new shell command, "lm"
lm - list matching modules and details such as product version number
found in the minidump. Also, enabled a mode to execute one command and
exit.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/18310003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 11:37:40 +00:00
mstarzinger@chromium.org
d898bded39 Prevent grokdump from crying about invalid input.
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/14660012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 13:24:04 +00:00
verwaest@chromium.org
a23caf9f71 Explicitly pass the isolate to create handles in ic.cc
Review URL: https://chromiumcodereview.appspot.com/12704015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 13:12:33 +00:00
verwaest@chromium.org
91d8d9dbab Update instance types in grokdump.
Review URL: https://chromiumcodereview.appspot.com/12720008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 10:22:49 +00:00
mstarzinger@chromium.org
cc38e56fdf Disable grokdumps module decoding temporarily.
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/12755031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 14:57:42 +00:00
verwaest@chromium.org
294af3a563 Fix linebreak in grokdump
Review URL: https://chromiumcodereview.appspot.com/12433006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 17:13:48 +00:00
verwaest@chromium.org
a090ea6a15 Extend grokdump with support for maps, transition and descriptor arrays.
Review URL: https://chromiumcodereview.appspot.com/12389077

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 17:06:48 +00:00
mstarzinger@chromium.org
f31a50dc10 Update grokdump to reflect current heap layout.
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/12303009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-19 09:01:25 +00:00
dcarney@chromium.org
0da6e525b7 Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/12213012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 14:33:08 +00:00
mstarzinger@chromium.org
a6c4edaf8b Update grokdump to reflect current heap layout.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/12094038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 10:07:47 +00:00
ulan@chromium.org
c4bed03342 Add ARM support to tools/grokdump.py
R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11565014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 09:48:04 +00:00
svenpanne@chromium.org
673924413f Re-land rev. 12849 and 12868 (Heavy cleanup of the external pointer API + related fix).
Review URL: https://codereview.chromium.org/11365224

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-13 12:27:03 +00:00