Evaluate private class member out of class scope in Debugger.evaluateOnCallFrame() class Klass { #field = "string"; get #getterOnly() { return "getterOnly"; } set #setterOnly(val) { this.#field = "setterOnlyCalled"; } get #accessor() { return this.#field } set #accessor(val) { this.#field = val; } #method() { return "method"; } } const obj = new Klass(); debugger; Running test: evaluatePrivateMembers Checking private fields Debugger.evaluateOnCallFrame: `obj.#field` { type : string value : string } Debugger.evaluateOnCallFrame: `obj.#field = 1` { description : 1 type : number value : 1 } Debugger.evaluateOnCallFrame: `obj.#field` { description : 1 type : number value : 1 } Debugger.evaluateOnCallFrame: `obj.#field++` { description : 1 type : number value : 1 } Debugger.evaluateOnCallFrame: `obj.#field` { description : 2 type : number value : 2 } Debugger.evaluateOnCallFrame: `++obj.#field` { description : 3 type : number value : 3 } Debugger.evaluateOnCallFrame: `obj.#field` { description : 3 type : number value : 3 } Debugger.evaluateOnCallFrame: `obj.#field -= 3` { description : 0 type : number value : 0 } Debugger.evaluateOnCallFrame: `obj.#field` { description : 0 type : number value : 0 } Checking private getter-only accessors Debugger.evaluateOnCallFrame: `obj.#getterOnly` { type : string value : getterOnly } Debugger.evaluateOnCallFrame: `obj.#getterOnly = 1` { className : Error description : Error: '#getterOnly' was defined without a setter at eval (eval at (:11:1), :1:17) at :11:1 objectId : subtype : error type : object } Debugger.evaluateOnCallFrame: `obj.#getterOnly++` { className : Error description : Error: '#getterOnly' was defined without a setter at eval (eval at (:11:1), :1:16) at :11:1 objectId : subtype : error type : object } Debugger.evaluateOnCallFrame: `obj.#getterOnly -= 3` { className : Error description : Error: '#getterOnly' was defined without a setter at eval (eval at (:11:1), :1:17) at :11:1 objectId : subtype : error type : object } Debugger.evaluateOnCallFrame: `obj.#getterOnly` { type : string value : getterOnly } Checking private setter-only accessors Debugger.evaluateOnCallFrame: `obj.#setterOnly` { className : Error description : Error: '#setterOnly' was defined without a getter at eval (eval at (:11:1), :1:1) at :11:1 objectId : subtype : error type : object } Debugger.evaluateOnCallFrame: `obj.#setterOnly = 1` { description : 1 type : number value : 1 } Debugger.evaluateOnCallFrame: `obj.#setterOnly++` { className : Error description : Error: '#setterOnly' was defined without a getter at eval (eval at (:11:1), :1:1) at :11:1 objectId : subtype : error type : object } Debugger.evaluateOnCallFrame: `obj.#setterOnly -= 3` { className : Error description : Error: '#setterOnly' was defined without a getter at eval (eval at (:11:1), :1:1) at :11:1 objectId : subtype : error type : object } Debugger.evaluateOnCallFrame: `obj.#field` { type : string value : setterOnlyCalled } Checking private accessors Debugger.evaluateOnCallFrame: `obj.#accessor` { type : string value : setterOnlyCalled } Debugger.evaluateOnCallFrame: `obj.#accessor = 1` { description : 1 type : number value : 1 } Debugger.evaluateOnCallFrame: `obj.#field` { description : 1 type : number value : 1 } Debugger.evaluateOnCallFrame: `obj.#accessor++` { description : 1 type : number value : 1 } Debugger.evaluateOnCallFrame: `obj.#field` { description : 2 type : number value : 2 } Debugger.evaluateOnCallFrame: `++obj.#accessor` { type : undefined } Debugger.evaluateOnCallFrame: `obj.#field` { description : 3 type : number value : 3 } Debugger.evaluateOnCallFrame: `obj.#accessor -= 3` { description : 0 type : number value : 0 } Debugger.evaluateOnCallFrame: `obj.#field` { description : 0 type : number value : 0 } Checking private methods Debugger.evaluateOnCallFrame: `obj.#method` { className : Function description : #method() { return "method"; } objectId : type : function } Debugger.evaluateOnCallFrame: `obj.#method = 1` { className : Error description : Error: Private method '#method' is not writable at eval (eval at (:11:1), :1:13) at :11:1 objectId : subtype : error type : object } Debugger.evaluateOnCallFrame: `obj.#method++` { className : Error description : Error: Private method '#method' is not writable at eval (eval at (:11:1), :1:12) at :11:1 objectId : subtype : error type : object } Debugger.evaluateOnCallFrame: `++obj.#method` { className : Error description : Error: Private method '#method' is not writable at eval (eval at (:11:1), :1:7) at :11:1 objectId : subtype : error type : object } Debugger.evaluateOnCallFrame: `obj.#method -= 3` { className : Error description : Error: Private method '#method' is not writable at eval (eval at (:11:1), :1:13) at :11:1 objectId : subtype : error type : object }