2018年3月29日木曜日

pdb9 開発日誌

ブレークポイント 全削除機能を確認しました。 バグ発生 コマンドラインでclでは良いがclearではダメです 検索機能でバグ発生 検索にヒットするものが無いときに発生する RuntimeError: maximum recursion depth exceeded in cmp 設計編 ブレークポイントの無効 イネーブル ■欲しい機能 ブレークポイント すべていネーブルにして実行 関数、クラス一覧 4/2 monday self.bpTbl ブレークポイントのテーブル 辞書 キーは フルパスファイル名:行番号 値は ブレーク番号 cmdSrcの bpStat キーは行番号 値は、その行の状態 状態は、 そのキーが無いときは、その行は、ブレクポイントは設定されていない キーがあるときは ブレクーポイント中、disable.enable 使用箇所  

2018年3月12日月曜日

pdb8の開発日誌

本日はバグ対応

ブレークぽんとの表示

dbgC.pyのAppendのフォーマットを修正しました。


tcWhere,tcBreakで検索しました。

editNoteに本体はありますけど






  '''
  ブレークポイント右下に表示
    bpTblは使用しないようにする
  
  '''
  def setTextCtrl( self ):
    ''' ブレークコントロール情報をフォーマットする '''
    config.noteInst.tcBreak.Clear()

    bpTbl =[]
    for key in self.bpTbl:
      s = key.split(":")
      l = len( s )
      s2= s[ l-2 ] + ":%010d" %( int( s[ l -1 ] ) )
      bpTbl.append( s2 )
    #print bpTbl

    bpTbl.sort()
    for data in bpTbl:
      sss = data.split(":")
      #print sss
      l = len( sss )
      fn = os.path.basename( sss[l-2]  ).strip()
      no = int( sss[ l-1 ] )
      sss2= "%-20s (%d)" %( fn, no )
      #print sss2
      config.noteInst.tcBreak.AppendText( sss2 + "\n"  )



dbgC.py

    # スタック情報
    if hanteiSTD.cmd== "w":
      if self.rcvData[-6:-1] != "(Pdb)":
        return
      else:
        #print "kitayo----------"
        self.rcvData = self.rcvData.split( "\n" )
        config.noteInst.tcWhere.Clear()
        for s in self.rcvData:
          """
          kitayo----------
            /usr/lib/python2.7/bdb.py(387)run()
            <string>(1)<module>()
            /home/koba/fx/wpdb/1st.py(68)<module>()
          > /home/koba/fx/wpdb/1st.py(42)func2()->123
          """
          if s[:1] == " " or s[:1] == ">":
            if s.endswith(")run()"):  continue
            if s.endswith("<module>()") and s.startswith( "  <string>" ):  continue

            if "->" in s:
              l = s.index("->")
              s = s[0:l]

            s = s[2:]
            #print s
            s = s.replace("("," ")
            s = s.replace(")"," ")
            s = s.split(" ")
            fn = os.path.basename( s[0] )
            no = int( s[1] )
            s = "%-20s (%d) %-15s" %( fn, no, s[2])
            config.noteInst.tcWhere.AppendText( s + "\n"  )

          #if s== "(Pdb) ":
            #self.txt.AppendColorLine( s+ "" )       # コマンドプロンプトを表示するばあい

        # 変数表示の為に
        self.stepStep=2
        self.pdb.cmd( self.dbgVal1 )
        self.rcvData =""
        return

python debugger (pdb9.py)

パイソンデバッカーのpdb9の機能

ダウンロードは
http://net.programming.jp/wpd/

pdb9は、IDE(エディターとデバッカー)です。


pdb9は、
パイソンの簡易なエディターとデバック機能がある開発環境です。
IDEではあるが、シンプルで使いやすさを求めた設計にしました。



編集機能

ライン番号によるカーソル移動と、選択機能
・そのライン番号をくりっくするとその行にカーソルが移動する
・再度くりっくすると、ワードごとに右側にカーソル移動
・指定時間マウスをダウン状態にすると選択することができます

編集のショートカットキーについて
コントロール + N ファイル新規
コントロール + O ファイルオープン
コントロール + S ファイル保存
コントロール + D 行の複製