|
|
@@ -1,9 +1,12 @@
|
|
|
<template>
|
|
|
<div class="jvvm">
|
|
|
- <j-heap class="heap"></j-heap>
|
|
|
- <j-method class="method"></j-method>
|
|
|
- <j-thread class="thread"></j-thread>
|
|
|
- <component class="detail" :is="detailComponent"></component>
|
|
|
+ <j-heap class="heap" :objects="state.memory.objects"
|
|
|
+ @click-detail="handleCheckDetail($event, 'j-heap-detail')"></j-heap>
|
|
|
+ <j-method class="method" :objects="state.memory.classes"
|
|
|
+ @click-detail="handleCheckDetail($event, 'j-method-detail')"></j-method>
|
|
|
+ <j-thread class="thread" :objects="state.thread.threadStack"
|
|
|
+ @click-detail="handleCheckDetail($event, 'j-thread-detail')"></j-thread>
|
|
|
+ <component class="detail" :is="detailComponent" :data="detail"></component>
|
|
|
<div class="other-info">
|
|
|
info
|
|
|
</div>
|
|
|
@@ -45,7 +48,8 @@ export default {
|
|
|
default: () => ({
|
|
|
currentFrame: { code: [] },
|
|
|
optionalNextFrame: {},
|
|
|
- memory: { objects: [] }
|
|
|
+ memory: { objects: [], classes: [] },
|
|
|
+ thread: { threadStack: [] }
|
|
|
}),
|
|
|
type: Object
|
|
|
},
|
|
|
@@ -53,6 +57,10 @@ export default {
|
|
|
default: 0,
|
|
|
type: Number
|
|
|
},
|
|
|
+ currentCodeData: {
|
|
|
+ default: () => [],
|
|
|
+ type: Array
|
|
|
+ },
|
|
|
totalStateLength: {
|
|
|
default: 0,
|
|
|
type: Number
|
|
|
@@ -60,10 +68,16 @@ export default {
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
- detailComponent: 'j-thread-detail'
|
|
|
+ detailComponent: 'j-thread-detail',
|
|
|
+ detail: {},
|
|
|
+ showSource: false
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleCheckDetail(detail, component) {
|
|
|
+ this.detail = detail
|
|
|
+ this.detailComponent = component
|
|
|
+ },
|
|
|
goNextFrame () {
|
|
|
this.$emit('onNextFrame')
|
|
|
},
|