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
ブレークぽんとの表示
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は、
ダウンロードは
http://net.programming.jp/wpd/
pdb9は、IDE(エディターとデバッカー)です。
pdb9は、
パイソンの簡易なエディターとデバック機能がある開発環境です。
IDEではあるが、シンプルで使いやすさを求めた設計にしました。
編集機能
ライン番号によるカーソル移動と、選択機能
・そのライン番号をくりっくするとその行にカーソルが移動する
・再度くりっくすると、ワードごとに右側にカーソル移動
・指定時間マウスをダウン状態にすると選択することができます
編集のショートカットキーについて
コントロール + N ファイル新規
コントロール + O ファイルオープン
コントロール + S ファイル保存
コントロール + D 行の複製
ライン番号によるカーソル移動と、選択機能
・そのライン番号をくりっくするとその行にカーソルが移動する
・再度くりっくすると、ワードごとに右側にカーソル移動
・指定時間マウスをダウン状態にすると選択することができます
編集のショートカットキーについて
コントロール + N ファイル新規
コントロール + O ファイルオープン
コントロール + S ファイル保存
コントロール + D 行の複製
登録:
投稿 (Atom)