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

0 件のコメント:

コメントを投稿