[Home](./index.md) > [puppeteer](./puppeteer.md) > [Protocol](./puppeteer.protocol.md) > [Debugger](./puppeteer.protocol.debugger.md) > [CallFrame](./puppeteer.protocol.debugger.callframe.md)
## Protocol.Debugger.CallFrame interface
JavaScript call frame. Array of call frames form the call stack.
Signature:
```typescript
export interface CallFrame
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [callFrameId](./puppeteer.protocol.debugger.callframe.callframeid.md) | [CallFrameId](./puppeteer.protocol.debugger.callframeid.md) | Call frame identifier. This identifier is only valid while the virtual machine is paused. |
| [functionLocation](./puppeteer.protocol.debugger.callframe.functionlocation.md) | [Location](./puppeteer.protocol.debugger.location.md) | Location in the source code. |
| [functionName](./puppeteer.protocol.debugger.callframe.functionname.md) | string | Name of the JavaScript function called on this call frame. |
| [location](./puppeteer.protocol.debugger.callframe.location.md) | [Location](./puppeteer.protocol.debugger.location.md) | Location in the source code. |
| [returnValue](./puppeteer.protocol.debugger.callframe.returnvalue.md) | [Runtime.RemoteObject](./puppeteer.protocol.runtime.remoteobject.md) | The value being returned, if the function is at return point. |
| [scopeChain](./puppeteer.protocol.debugger.callframe.scopechain.md) | [Scope](./puppeteer.protocol.debugger.scope.md)\[\] | Scope chain for this call frame. |
| [this](./puppeteer.protocol.debugger.callframe.this.md) | [Runtime.RemoteObject](./puppeteer.protocol.runtime.remoteobject.md) | this
object for this call frame. |
| [url](./puppeteer.protocol.debugger.callframe.url.md) | string | JavaScript script name or url. |