Table of Contents

Class: DebugBase | eric3/Debugger/DebugBase.py
--- | ---

### Class implementing base class of the debugger.

Provides simple wrapper methods around bdb for the `owning` client to call to step etc.

Base Classes |
--- | ---
bdb.Bdb

Methods |
--- | ---

__init__ break_anywhere break_here dispatch_exception dispatch_return do_clear extract_stack fix_frame_filename getCurrentFrame get_break | go set_continue set_quit step stepOut stop_here user_exception user_line user_return

| __init__

    __init__ ( self,  dbgClient )

### Constructor

#### Arguments

dbgClient
  the owning client

| break_anywhere

    break_anywhere ( self,  frame )

### Reimplemented from bdb.py to fix the filename from the frame.

See fix_frame_filename for more info.

#### Arguments

frame
  the frame object

#### Returns

flag indicating the break status (boolean)

| break_here

    break_here ( self,  frame )

### Reimplemented from bdb.py to fix the filename from the frame.

See fix_frame_filename for more info.

#### Arguments

frame
  the frame object

#### Returns

flag indicating the break status (boolean)

| dispatch_exception

    dispatch_exception (
            self,
            frame,
            arg,
            )

Reimplemented from bdb.py to always call user_exception.

Exceptions |
--- | ---
bdb.BdbQuit

| dispatch_return

    dispatch_return (
            self,
            frame,
            arg,
            )

Reimplemented from bdb.py to handle passive mode cleanly.

Exceptions |
--- | ---
bdb.BdbQuit

| do_clear

    do_clear (
            self,
            filename,
            lineno,
            )

### Private method called to clear a temporary breakpoint.

#### Arguments

filename
  name of the file the bp belongs to
lineno
  linenumber of the bp

| extract_stack

    extract_stack ( self,  exctb )

### Protected member to return a list of stack frames.

#### Arguments

exctb
  exception traceback

#### Returns

list of stack frames

| fix_frame_filename

    fix_frame_filename ( self,  frame )

### Protected method used to fixup the filename for a given frame.

The logic employed here is that if a module was loaded from a .pyc file, then the correct .py to operate with should be in the same path as the .pyc. The reason this logic is needed is that when a .pyc file is generated, the filename embedded and thus what is readable in the code object of the frame object is the fully qualified filepath when the pyc is generated. If files are moved from machine to machine this can break debugging as the .pyc will refer to the .py on the original machine. Another case might be sharing code over a network... This logic deals with that.

#### Arguments

frame
  the frame object

| getCurrentFrame

    getCurrentFrame ( self )

### Public method to return the current frame.

#### Returns

the current frame

| get_break

    get_break (
            self,
            filename,
            lineno,
            )

### Reimplemented from bdb.py to get the first breakpoint of a particular line.

Because eric3 supports only one breakpoint per line, this overwritten method will return this one and only breakpoint.

#### Arguments

filename
  the filename of the bp to retrieve (string)
lineno
  the linenumber of the bp to retrieve (integer)

#### Returns

breakpoint or None, if there is no bp

| go

    go ( self )

### Public method to resume the thread.

It resumes the thread stopping only at breakpoints or exceptions.

| set_continue

    set_continue ( self )

Reimplemented from bdb.py to always get informed of exceptions.

| set_quit

    set_quit ( self )

### Public method to quit.

It wraps call to bdb to clear the current frame properly.

| step

    step ( self,  traceMode )

### Public method to perform a step operation in this thread.

#### Arguments

tracemode
  if it is non-zero, then the step is a step into, otherwise it is a step over.

| stepOut

    stepOut ( self )

Public method to perform a step out of the current call.

| stop_here

    stop_here ( self,  frame )

### Reimplemented to filter out debugger files.

Tracing is turned off for files that are part of the debugger that are called from the application being debugged.

#### Arguments

frame
  the frame object

#### Returns

flag indicating whether the debugger should stop here

| user_exception

    user_exception (
            self,
            frame,
            (,
            unhandled=0,
            )

### Reimplemented to report an exception to the debug server.

#### Arguments

frame
  the frame object
exctype
  the type of the exception
excval
  data about the exception
exctb
  traceback for the exception
unhandled
  flag indicating an uncaught exception

| user_line

    user_line ( self,  frame )

### Reimplemented to handle the program about to execute a particular line.

#### Arguments

frame
  the frame object

| user_return

    user_return (
            self,
            frame,
            retval,
            )

### Reimplemented to report program termination to the debug server.

#### Arguments

frame
  the frame object
retval
  the return value of the program

Table of Contents

This document was automatically generated by HappyDoc version 2.1