Bug 3247 - Source window doesn't support multi-threaded procs
Summary: Source window doesn't support multi-threaded procs
Status: RESOLVED FIXED
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Mike Cvet
URL:
Keywords:
Depends on:
Blocks: 1633
  Show dependency treegraph
 
Reported: 2006-09-22 18:01 UTC by Mike Cvet
Modified: 2006-10-04 15:53 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Cvet 2006-09-22 18:01:25 UTC
The source window must provide a way to block all tasks of a proc, not just the
main task. It must also be able to collect and display information from all
tasks in a tabbed or manner otherwise.
Comment 1 Mike Cvet 2006-10-04 15:53:20 UTC
CVSROOT:        /cvs/frysk
Module name:    frysk-gui
Changes by:     mcvet@sourceware.org    2006-10-04 15:45:48

Log message:
        frysk-imports/lib/dw:
        2006-10-04  Mike Cvet  <mcvet@redhat.com>
        
        * Dwfl.java (getSourceLine): Added try/catch around dwfl call.
        
        frysk-gui/frysk/gui/srcwin:
        2006-10-04  Mike Cvet  <mcvet@redhat.com>
        
        * SourceWindowFactory.java (procTable): Changd from taskTable.
        (createSourceWindow): Updated to create a SourceWindow from a Proc
        with multiple Tasks. Uses ProcAttachedObserver to block the Proc.
        (finishSourceWin): Takes a proc. Iterates through each Task and
        generates a StackFrame from it, pushing into an array. Sends
        StackFrame array into SourceWindow. Removed call to getDwflLineXXX.
        (unblockProc): Refactored from unblockTask. Handles new Proc blocking
        method.
        (getFunctionXXX): Removed unnecessary print statements.
        (SourceWinListener.lifeCycleQuery): Unblocks the Proc instead of Task.
        (SourceWinBlocker): Added - implements ProcObserver.ProcTasks.
        (handleTask): Added.
        * SourceWindow.java (SourceWindow): Takes an array of StackFrames
        as a parameter.
        (setMyProc): Added.
        (getMyProc): Added.
        (populateStackBrowser): Initializes the stack browser with an array
        of StackFrames; one for each thread belonging to the Proc. Updates
        shown stack frame.
        (toggleRegisterWindow): Handles the RegisterWindow with a Proc.
        (toggleMemoryWindow): Ditto.
        (toggleDisassemblyWindow): Ditto.
        * CurrentStackView.java (CurrentStackView): Initializes stackColumns
        globally. Now takes an array of StackFrames as a parameter, builds
        a TreeView out of them. Changed ListStore to TreeStore.
        (getFirstFrameSelection): Added.
        
        frysk-gui/frysk/gui/monitor:
        2006-10-04  Mike Cvet  <mcvet@redhat.com>
        
        * actions/ShowSourceWin.java (execute): Updated to create
        SourceWindow with a Proc instead of Task
        * actions/ShowRegWin.java (execute): Ditto.
        * actions/ShowMemWin.java (execute): Ditto..
        
        frysk-gui/frysk/gui/common:
        2006-10-04  Mike Cvet  <mcvet@redhat.com>
        
        * ProcBlockCounter.java: Refactored from TaskBlockCounter.
        * ProcBlockCounter.java (getBlockCount): Updated to use procs.
        (incBlockCount): Ditto.
        (decBlockCount): Ditto.
        
        frysk-gui/frysk/gui:
        2006-10-04  Mike Cvet  <mcvet@redhat.com>
        
        * disassembler/DisassemblyWindowFactory.java (createDisassemblyWindow):
        Takes a Proc instead of a Task. If blocking is needed, does so with a
        ProcAttachedObserver.
        (finishDisWin): Takes a Proc instead of a Task. Creates a
        DisassemblyWindow off of Proc's mainTask for now.
        (setDisWin): Sets to a Proc.
        (unblockProc): Refactored from unblockTask. Unblocks a
        ProcAttachedObserver.
        (DisWinListener.lifeCycleQuery): Handles Procs instead of Tasks.
        (DisWinBlocker): Added new methods for ProcObserver.ProcTasks.
        (handleTask): Added.
        * memory/MemoryWindowFactory.java (createMemoryWindow): (Same per-method
        changes as above).
        (finishMemWin): Ditto.
        (setMemWin): Ditto.
        (unblockProc): Ditto.
        (MemWinListener.lifeCycleQuery): Ditto.
        (MemWinBlocker): Ditto.
        (handleTask): Ditto.
        * register/RegisterWindowFactory.java (createRegisterWindow): Ditto.
        (finishRegWin): Ditto.
        (setRegWin): Ditto.
        (unblockProc): Ditto.
        (RegWinListener.lifeCycleQuery): Ditto.
        (RegWinBlocker): Ditto.
        (handleTask): Ditto..
        * SessionManagerGui.java (getDebugSingleProcess): Creates
        SourceWindow from chosenProc instead of its main task.
        * DummySourceWindow.java (DummySourceWin): Changed to send a Proc
        to SourceWindowFactory instead of a Task.
        
        frysk-core/frysk/rt:
        2006-10-04  Mike Cvet  <mcvet@redhat.com>
        
        * StackFrame.java (getTask): Refactored from getMyTask().
        (getDwflLine): Added.
        (StackFrame): Uses task instead of myTask.
        (getDOMFunction): Refactored from getFunction (confused with
        getMethod).
        (setDOMFunction): Refactored from setFunction
        
        frysk-core/frysk/dom:
        2006-10-04  Mike Cvet  <mcvet@redhat.com>
        
        * DOMFactory.java (createDOM): Gets the image associated with the
        main task's name.
        (createDOM): Gets the source from the image associated wtih the main
        task's name.