Commit Graph

62 Commits

Author SHA1 Message Date
vegorov@chromium.org
818aba70b2 Extend grokdump with basic interactive shell capabilities.
Supported commands:

- dd: to print memory region
- s: to search for a word in available memory regions
- list: to list available memory regions

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 12:44:15 +00:00
svenpanne@chromium.org
6997dbe13e Fixed AccessorPair handling
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 16:12:16 +00:00
mstarzinger@chromium.org
dfb18ce094 Fix several minor issues with grokdump.py tool.
This includes the following changes:
* Bring instance type mapping up to date.
* Enable loading of maps without available meta-map.
* Add missing IntSize() method.
* Fix reference to Code.CODE_ALIGNMENT_MASK.
* Add alignment checks for objects and maps.

R=vegorov@chromium.org

Review URL: http://codereview.chromium.org/9075003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 14:28:45 +00:00
vegorov@chromium.org
49acd1843b Fix typo in tools/grokdump.py. Stack pointer on x86 is esp not rbp.
R=fschneider@chromium.org

Review URL: http://codereview.chromium.org/9069001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-02 09:46:47 +00:00
vegorov@chromium.org
7a93464ca0 Add X64 minidumps support to tools/grokdump.py
R=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/8957005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-15 12:13:34 +00:00
vitalyr@chromium.org
d63014d62e grokdump: Tiny bugfix and type list update.
R=vegorov@chromium.org

Review URL: http://codereview.chromium.org/7566033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-04 12:07:43 +00:00
vitalyr@chromium.org
f9845f851d grokdump: Add simple support for non-full minudumps.
At least we can show the disassembly around the exception now.

R=antonm@chromium.org

Review URL: http://codereview.chromium.org/7439006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-19 18:29:18 +00:00
vegorov@chromium.org
d96735233f Sync grokdump.py INSTANCE_TYPES with V8.
R=vitalyr@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7278017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-01 11:05:04 +00:00
rossberg@chromium.org
670f947a5c Implement set trap for proxies, and revamp class hierarchy in preparation:
- Introduce a class JSReceiver, that is a common superclass of JSObject and
  JSProxy. Use JSReceiver where appropriate (probably lots of places that we
  still have to migrate, but we will find those later with proxy test suite).

- Move appropriate methods to JSReceiver class (SetProperty,
  GetPropertyAttribute, Get/SetPrototype, Lookup, and so on).

- Introduce new JSFunctionProxy subclass of JSProxy. Currently only a stub.

- Overhaul enum InstanceType:
  * Introduce FIRST/LAST_SPEC_OBJECT_TYPE that ranges over all types that
    represent JS objects, and use that consistently to check language types.
  * Rename FIRST/LAST_JS_OBJECT_TYPE and FIRST/LAST_FUNCTION_CLASS_TYPE
    to FIRST/LAST_[NON]CALLABLE_SPEC_OBJECT_TYPE for clarity.
  * Eliminate the overlap over JS_REGEXP_TYPE.
  * Also replace FIRST_JS_OBJECT with FIRST_JS_RECEIVER, but only use it where
    we exclusively talk about the internal representation type.
  * Insert JS_PROXY and JS_FUNCTION_PROXY in the appropriate places.

- Fix all checks concerning classification, especially for functions, to
  use the CALLABLE_SPEC_OBJECT range (that includes funciton proxies).

- Handle proxies in SetProperty (that was the easiest part :) ).

- A few simple test cases.

R=kmillikin@chromium.org

Review URL: http://codereview.chromium.org/6992072

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-31 16:38:40 +00:00
vitalyr@chromium.org
ca7200da20 grokdump: Update the list of instance types.
Review URL: http://codereview.chromium.org/7058008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-23 11:41:28 +00:00
rossberg@chromium.org
abd77ad439 Rename Proxy class to Foreign, to avoid confusion with Harmony proxies.
Also fix grokdump, which was off by one after intro of JSProxy type.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-19 11:47:34 +00:00
vitalyr@chromium.org
25f2f21f50 grokdump: Simple windows minidump analysis on linux.
Analyses full minidump (.dmp) files.

Shows the processor state at the point of exception including the
stack of the active thread and the referenced objects in the V8
heap. Code objects are disassembled and the addresses linked from the
stack (pushed return addresses) are marked with "=>".

Review URL: http://codereview.chromium.org/6312058

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-22 14:25:26 +00:00