JPH096647A - 逆実行デバッグシステム - Google Patents

逆実行デバッグシステム

Info

Publication number
JPH096647A
JPH096647A JP7178295A JP17829595A JPH096647A JP H096647 A JPH096647 A JP H096647A JP 7178295 A JP7178295 A JP 7178295A JP 17829595 A JP17829595 A JP 17829595A JP H096647 A JPH096647 A JP H096647A
Authority
JP
Japan
Prior art keywords
instruction
program
execution
trace
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7178295A
Other languages
English (en)
Other versions
JP3379675B2 (ja
Inventor
Noritaka Koyama
法孝 小山
Yasushi Wauke
康 和宇慶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP17829595A priority Critical patent/JP3379675B2/ja
Publication of JPH096647A publication Critical patent/JPH096647A/ja
Application granted granted Critical
Publication of JP3379675B2 publication Critical patent/JP3379675B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 プログラムのデバッグ作業を容易にする。 【構成】 デバッグの際は、レジスタやメモリへの書き
込み命令の直前に、書き込む領域に格納されているデー
タをトレースメモリに退避する命令を挿入したデバッグ
用プログラムをコンパイラ1によりコンパイルする。そ
して、このデバッグ用プログラムをユーザ実行ファイル
2に格納して実行することにより、デバッグを進める。
デバッグ用プログラムを実行すると、バグが存在すると
きはその影響により実行が停止する。トレースメモリ3
a、3bには、実行が停止した位置のアドレス及びその
時のレジスタ及びメモリの内容が格納されている。そし
て、命令変換ツール4により、デバッグ用プログラムを
レジスタ及びメモリのデータに対し、逆の操作を行う命
令列に変換する。この命令列を1ステップずつ実行する
ことにより、実行が停止した位置から逆方向にトレース
することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロコンピュータ
上で動作するプログラムのデバッグや評価を行う際に使
用する逆実行デバッグシステムに関するものである。
【0002】
【従来の技術】一般に、プログラムのデバッグや評価の
際は、マイクロコンピュ―タ上で実際にプログラムを動
作させ、その動作のトレースを行う。このような動作ト
レースでは、従来、各種のツール等を使用し、以下のよ
うな作業を行っていた。例えば、プログラムのあるアド
レスにおいて、プログラムの動作を停止させたり、通過
を確認したいときにはプログラムの途中にブレークポイ
ントを設定していた。また、ブレークポイントから数命
令のトレースを行いたい時にはステップ命令を使用し、
1ステップずつ命令を実行していた。これらの機能で確
認できないトレース情報、例えば、特定の命令の実行頻
度の測定、メモリのあるアドレスのアクセス回数の測定
などは、プログラム自身、あるいはデバッグ評価ツール
に、カウンタやフラグなどの仕掛けを組み込むようにし
ていた。
【0003】また、ICE(In Circuit Emulator) など
の高機能なデバッグ評価ツールでは、マイクロコンピュ
ータの信号ピンの履歴を一定量トレースメモリに保持し
ておくことができる。そして、これらの信号ピンの履歴
からより多くのトレース情報を得ることができる。この
トレース情報を解析することにより実行命令の履歴、デ
ータアクセスの状況を知ることができた。これらの従来
技術は、いずれも、プログラムをプログラムエントリか
ら実行し、実行時に必要な情報を得るものであった。
【0004】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような課題があった。第1に、
プログラムの動作トレースを行う場合に、一度通過して
しまった部分を再現するには、もう一度プログラムエン
トリから実行し直さなければならないので、効率的でな
い。このような状況は、プログラムのデバッグ時に頻繁
に起こる。これは、プログラムのバグが誤動作として表
面に現れるのが、バグ箇所を通過してから一定時間経っ
てからの場合が多いからである。この場合、誤動作した
時点から、少しずつ前の状況を把握していくために何度
もブレークポイントをかけ直して、プログラムをプログ
ラムエントリから再実行する必要があった。
【0005】第2に、通常、プログラムの実行は、入力
データの内容やその入力タイミングによって異なるもの
であり、一度起きた事象を再現できない場合が多い。従
って、何らかの原因で誤動作が発生した場合に、その誤
動作を再現できず、デバッグできない場合が多いし、評
価する際にも、一度実行したプログラム処理を再現する
ことができない場合が多かった。第3に、ICEを使用
した場合でも、マイクロコンピュータの信号ピンの履歴
を参照して、プログラムの実行を追跡するのは非常に難
しい作業であった。第4に、ICEを使用した場合で
も、実行の特定の箇所でのレジスタやメモリの値を完全
に再現するのは事実上不可能であった。これは、プログ
ラム実行中に上書きされる、レジスタやメモリの値を知
るには、プログラムの実行開始時からの全履歴を保持し
なければならないからである。
【0006】
【課題を解決するための手段】本発明の逆実行デバッグ
システムは、上述した課題を解決するため、以下の点を
特徴とするものである。 (1)1.ユーザソースファイルに格納されたプログラム
を基にして、以下のトレース用プログラムを生成するた
めのコンパイラを備える。即ち、このコンパイラは、ま
ず、プログラム中からレジスタやメモリ等の記憶手段内
のデータを書き換える各書き込み命令を検出する。そし
て、それらの書き込み命令の実行時の直前の記憶手段内
のデータを退避するための退避命令を、当該書き込み命
令の直前に追加する。これらの退避命令は、ストア命
令、又はロード命令とストア命令の組み合わせである。
これらの退避命令を追加したものをトレース用プログラ
ムとする。
【0007】2.当該コンパイラにより生成されたトレー
ス用プログラムを格納するユーザ実行ファイルを備え
る。 3.当該ユーザ実行ファイルに格納されたトレース用プロ
グラム中の退避命令の実行により退避されるデータ及び
当該トレース用プログラムの実行過程の命令アドレス履
歴をそれぞれ格納するトレースメモリを備える。 4.トレース用プログラムの実行停止時に、ユーザ実行フ
ァイルに格納されたトレース用プログラムを基にして、
以下の逆実行プログラムを生成するための命令変換ツー
ルを備える。即ち、この命令変換ツールは、トレース用
プログラム中の各命令をトレースメモリに格納されてい
る最新の命令アドレスの命令から順次逆のデータ処理を
行う命令に変換し、これを逆実行プログラムとする。
【0008】(2)(1)において、命令変換ツール
は、以下を特徴とする。 1.トレース用プログラム中の各ロード命令をストア命令
に変換する。 2.トレース用プログラム中の各ストア命令をロード命令
に変換する。 3.トレースメモリにデータを退避する際のアドレスを更
新する各命令を1つ前のアドレスに戻す命令に変換す
る。 4.上記以外の命令は無視する。
【0009】
【作用】デバッグの際は、レジスタやメモリへの書き込
み命令の直前に、書き込む領域に格納されているデータ
をトレースメモリに退避する命令を挿入したデバッグ用
プログラムをコンパイラによりコンパイルする。そし
て、このデバッグ用プログラムをユーザ実行ファイルに
格納して実行することにより、デバッグを進める。デバ
ッグ用プログラムを実行すると、バグが存在するときは
その影響により実行が停止する。トレースメモリには、
実行が停止した位置のアドレス及びその時のレジスタ及
びメモリの内容が格納されている。そして、命令変換ツ
ールにより、デバッグ用プログラムをレジスタ及びメモ
リのデータに対し、逆の操作を行う命令列に変換する。
この結果、この命令列を1ステップずつ実行することに
より、実行が停止した位置から逆方向に実行動作を戻す
動作をトレースすることができる。
【0010】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明の逆実行デバッグシステム
の一実施例のブロック図である。この図lは、ターゲッ
トシステム上のマイクロプロセッサ(以下、MPUと略
称する)で動作するユーザプログラムをホスト上からデ
バッグするデバッガと、コンパイラおよび命令変換ツー
ルを含むシステムの全体構成を示す。図1において、ホ
スト100では、メモリ103と、ハードディスク10
5と、中央演算装置101(以下、CPUと略称する)
と、CRT106と、ターゲットとのI/F部104と
が内部バス102によって接続されている。また、CP
U101には、ユーザが入力を行うキーボード107
と、マウス108とが接続されている。
【0011】ホスト100上のハードディスク105に
は、ホスト100のCPU101上で動作するプログラ
ムであるコンパイラ1と、デバッガ110と、命令変換
ツール4、およびターゲット上のMPU301上で動作
するユーザプログラムのソースファイル112と、それ
をコンパイラ1でコンパイルして生成されるユーザ実行
ファイル2が格納される。ターゲットシステム300
は、デバッグモニタ309が書き込まれたR0M30
4、メモリ305、ユーザ実行ファイル2を動作させる
MPU301、ユーザ実行ファイル2の実行履歴を格納
するトレースメモリ3aとトレースメモリ3b、および
メモリ管理ユニット310(以下、MMUと略称する)
を搭載する。ターゲットシステム300のI/F部30
3はデバッガインタフェース200を通じてホスト10
0のI/F部104と接続されている。
【0012】MPU301と、ROM304と、メモリ
305と、トレースメモリ3aと、トレースメモリ3b
と、I/F部303とは、ターゲットシステム300の
内部バス302によって接続されている。トレースメモ
リ3bは、命令アドレストレース回路308を通じてM
PU301と接続されている。これにより、命令アドレ
ストレース回路308により、トレースメモリ3bにM
PU301の実行命令アドレス履歴が保持される。
【0013】この場合、命令アドレストレース回路30
8は、実行命令アドレス履歴を保持するのにトレースメ
モリ3bをループ状に使用する。すなわち、トレースメ
モリ3bの最終番地まで使用してしまったら、再び先頭
番地から履歴を保持する。このようにして、常に、プロ
グラム停止時の前の実行命令アドレス履歴を、トレース
メモリ3bの容量分保持することができる。プログラム
停止時の実行命令アドレスを保持するトレースメモリ3
bのアドレスは、図2に示すように、トレースメモリ3
bのアドレスレジスタ311に保持される。
【0014】デバッガ110は、キーボード107また
はマウス108からコマンドを入力し、その結果をCR
T106に表示する。また、デバッガ110は、ユーザ
のプログラムロードコマンドによりユーザ実行ファイル
2を読み出し、デバッガインタフェース200を通じて
デバッグモニタ309と通信することにより、ターゲッ
トシステム300上のメモリ305にロードする。そし
て、デバッガインタフェース200を通じてデバッグモ
ニタ309と通信することにより、ユーザコマンドを実
行する。
【0015】次に、上述したシステムの動作を説明す
る。コンパイラ1は、マイクロコンピュータ上で動作す
るユーザ実行ファイル2が実行時に値を書き込む、レジ
スタ、メモリなどの記憶手段の書き込み前の値を退避す
る命令をオペレータの選択により追加することができ
る。以下、この動作の詳細を説明する。例えば、次のよ
うなレジスタ加算命令を定義する。 add %r1,%r2,%r3 この命令は、%r1の値と%r2の値を加えて%r3に
格納する命令である。ここに、%r1などはMPU30
1の内部にあるレジスタを示す。この命令は、レジスタ
への書き込みを伴う命令である。
【0016】また、次のような命令を定義する。 sw %r1,[%r2] この命令は、%r1の値を%r2の値のメモリアドレス
へストアする命令であり、メモリ305ヘの書き込みを
伴う命令である。コンパイラ1は、ユーザの選択に応じ
て、このような命令の直前に、書き込まれる記憶手段の
前の値をトレースメモリ3aに退避する命令を追加す
る。例えば、ユーザソースファイル112のコンパイル
時、ユーザが「退避命令の追加」を選択しなかった場合
には、コンパイラ1が、以下の命令列を生成するとす
る。
【0017】 (a1) add %r1,%r2,%r3 (a2) sw %r1,[%r2] 一方、ユーザが「退避命令の追加」を選択した場合、コ
ンパイラ1は、「退避命令の追加」を選択しなかった場
合に加えて図3に示す処理を行う。その結果、以下の命
令列を出力する。 (b1) sw %r3,[%wr1] (b2) add %wr1,4,%wr1 (b3) add %r1,%r2,%r3 (b4) lw [%r2],%wr2 (b5) sw %wr2,[%wr1] (b6) add %wr1,4,%wr1 (b7) sw %r1,[%r2]
【0018】ここに、%wr1,%wr2は、ユーザプ
ログラムが使用することのないワークレジスタである。
“lw [%r2],%wr2”は、%r2の値の
メモリアドレスの内容を%wr2にロードする命令であ
る。また、%wr1は、常にトレースメモリ3aのアド
レスを指しており、MMU310により、最終番地アド
レスからさらにインクリメントすると先頭番地を指すよ
うにされている。
【0019】上記の場合、コンパイラ1は、(a1)に
当たる(b3)の命令を決定し、この命令がレジスタ%
r3への書き込みを伴う命令なので、書き込まれるレジ
スタ値をトレースメモリ3aに退避する命令(bl)
と、退避するアドレスを更新する命令(b2)を加え
る。同様に、(a2)に当たる(b7)の命令を決定
し、この命令がメモリへの書き込みを伴う命令なので、
書き込まれるメモリ値をトレースメモリ3aに退避する
命令(b4),(b5)と、退避するアドレスを更新す
る命令(b6)を加える。以上のようにして、マイクロ
コンピュータ上で動作するプログラムが実行時に値を書
き込む、レジスタ、メモリなどの記憶手段の書き込み前
の値を退避する命令を選択的に追加することができる。
即ち、ユーザのオプション指定により、退避命令を追加
することができる。
【0020】次に、逆実行によるデバッグ作業について
説明する。命令変換ツール4は、コンパイラ1で、「退
避命令の追加」を選択してコンパイルしたユーザ実行フ
ァイル2とともに使用する。命令変換ツール4は、ユー
ザ実行ファイル2の実行後に、トレースメモリ3bに格
納された実行命令履歴と、トレースメモリ3aに退避さ
れた、レジスタ、メモリなどの記憶手段の書き込み前の
値を使用して、ユーザ実行ファイル2の停止時点から開
始して、ユーザ実行ファイル2の逆動作を実行するユー
ザ実行ファイルを自動的に生成する。以下、この処理の
詳細を説明する。ユーザソースファイル112をコンパ
イラ1によって「退避命令の追加」を行うようにコンパ
イルした結果、以下の命令列を含むユーザ実行ファイル
2が生成されたとする。
【0021】 (c1) 0x0fc sw %r1,[%r2] (c2) 0x100 b label ・・・ label: (c3) 0x200 sw %r5,[%wr1] (c4) 0x204 add %wr1,4,%wr1 (c5) 0x208 add %r3,%r4,%r5 (c6) 0x20c lw [%r7],%wr2 (c7) 0x210 sw %wr2,[%wr1] (c8) 0x214 add %wr1,4,%wr1 (c9) 0x218 sw %r6,[%r7]
【0022】ここに、0xfc,0x100などは命令
のアドレスであり、”b label”は、ラベルla
belへの分岐命令である。このユーザ実行ファイル2
を実行した結果、MPU301が命令アドレス0x21
8で停止して、その時点でのターゲットシステム300
のトレースメモリ3a、トレースメモリ3bの内容が以
下のようであったとする。 トレースメモリ3aの内容 (d1) 0x12345678 (d2) 0x98765432
【0023】 トレースメモリ3bの内容 (e1) 0xfc (e2) 0x100 (e3) 0x200 (e4) 0x204 (e5) 0x208 (e6) 0x20c (e7) 0x210 (e8) 0x214 (e9) 0x218
【0024】ここに、%wr1は(d2)を指し、トレ
ースメモリ3bのアドレスレジスタ311は(e9)を
指しているとする。トレースメモリ3aとトレースメモ
リ3bの内容はデバッガ110によってハードディスク
105に格納することができる。命令変換ツール4は、
ハードディスク105に格納されたトレースメモリ3a
とトレースメモリ3bの内容、およびユーザ実行ファイ
ル2を使用して、図4のアルゴリズムに従ってユーザ実
行ファイル2の逆実行プログラムを生成する。図4の例
の場合、以下の逆実行プログラムを生成する。ここに、
逆実行プログラムというのは、ユーザプログラムを動作
させた場合のレジスタ、メモリなどの記憶手段の状態遷
移と逆の状態遷移を生じさせるプログラムという意味で
ある。
【0025】 (f1) lw [%r7],%r6 (f2) sub %wr1,4,%wr1 (f3) lw [%wr1],%wr2 (f4) sw %wr2,[%r7] (f5) sub %wr1,4,%wr1 (f6) lw [%wr1],%r5 (f7) lw [%r2],%r1
【0026】この生成過程を図4を参照して説明する。
まず、ステップS41で(e9)より(c9)の命令を
読み出すと、これはストア命令なので、その逆のロード
命令(f1)が生成される(ステップS42、S4
3)。次に、ステップS44、S41で(e8)より
(c8)の命令を読み出すと、これは退避するアドレス
を更新する命令なので、退避アドレスを1つ戻す命令
(f2)が生成される(ステップS46)。次に、(e
7)より(c7)の命令を読みだし、これがストア命令
なので、その逆のロード命令(f3)が生成される。こ
のようにして生成されたものが上記の逆実行プログラム
である。この逆実行プログラムにより、メモリ305と
トレースメモリ3aの内容を、ユーザプログラム実行停
止時の状態にしておいて、この逆実行プログラムをロー
ドして動作させれば、レジスタ、メモリなどの記憶手段
の状態遷移を逆に実行させることができる。
【0027】以上のようにして、コンパイラ1と、命令
変換ツール4を使用して、ユーザプログラムの停止時か
ら逆動作をする逆実行プログラムを生成することがで
き、この逆実行プログラムを使用して、プログラムの逆
トレースを行うことができる。プログラムの逆トレース
は、従来行われていなかった方法であり、これによって
画期的なデバッグツールが提供される。即ち、一度実行
したプログラムの特定の箇所でのレジスタ、メモリの値
の再現が可能であり、しかも、プログラムの実行、停
止、レジスタ、メモリ値の参照を繰り返して逆トレース
することができる。これにより、バグの原因を捜し出す
ことが容易となり、デバッグが効率的となる。
【0028】尚、本発明は上述した実施例に限定される
ものではなく、種々の変形が可能であることはもちろん
である。例えば、上述した実施例では、ハードウェアと
密接な機械命令の場合について説明したが、本発明を高
級言語のプログラムのデバッグに応用することも可能で
ある。
【0029】
【発明の効果】以上説明したように、本発明の逆実行デ
バッグシステムによれば、所定の命令変換により逆実行
プログラムを生成して実行するようにしたので、次のよ
うな効果がある。即ち、プログラムの動作トレースを行
う場合に、一度通過してしまった部分を再現する際に、
もう一度プログラムエントリから実行し直す必要がな
く、効率的なデバッグ作業を行うことができる。即ち、
何度もブレークポイントをかけ直さなくても、誤動作し
た時点から、1ステップずつ前の状況を把握していくこ
とができる。また、入力データの内容やその入力タイミ
ングによってプログラムの実行内容が異なるような場合
でも、過去に起きた事象を再現することが可能となる。
従って、何らかの原因で誤動作が発生した場合に、その
誤動作を確実に再現することができる。
【図面の簡単な説明】
【図1】本発明の逆実行デバッグシステムの一実施例の
ブロック図である。
【図2】トレースメモリの構成の説明図である。
【図3】退避命令を追加する処理手順を説明するフロー
チャートである。
【図4】命令変換ツールの処理手順を説明するフローチ
ャートである。
【符号の説明】
1 コンパイラ 2 ユーザ実行ファイル 3a、3b トレースメモリ 4 命令変換ツール

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ユーザソースファイルに格納されたプロ
    グラム中の各書き込み命令の実行時の直前の記憶手段内
    のデータを退避するための退避命令を、当該書き込み命
    令の直前に追加したトレース用プログラムを生成するコ
    ンパイラと、 当該コンパイラにより生成されたトレース用プログラム
    を格納するユーザ実行ファイルと、 当該ユーザ実行ファイルに格納されたトレース用プログ
    ラム中の前記退避命令の実行により退避されるデータ及
    び当該トレース用プログラムの実行過程の命令アドレス
    履歴をそれぞれ格納するトレースメモリと、 前記トレース用プログラムの実行停止時に、前記トレー
    ス用プログラム中の各命令を前記トレースメモリに格納
    されている最新の命令アドレスの命令から順次逆のデー
    タ処理を行う命令に変換した逆実行プログラムを生成す
    る命令変換ツールとを備えたことを特徴とする逆実行デ
    バッグシステム。
  2. 【請求項2】 前記命令変換ツールは、前記トレース用
    プログラム中の各ロード命令をストア命令に変換し、各
    ストア命令をロード命令に変換し、前記トレースメモリ
    に退避するアドレスを更新する各命令を1つ前のアドレ
    スに戻す命令に変換し、これら以外の命令は無視するこ
    とを特徴とする請求項1記載の逆実行デバッグシステ
    ム。
JP17829595A 1995-06-21 1995-06-21 逆実行デバッグシステム Expired - Fee Related JP3379675B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17829595A JP3379675B2 (ja) 1995-06-21 1995-06-21 逆実行デバッグシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17829595A JP3379675B2 (ja) 1995-06-21 1995-06-21 逆実行デバッグシステム

Publications (2)

Publication Number Publication Date
JPH096647A true JPH096647A (ja) 1997-01-10
JP3379675B2 JP3379675B2 (ja) 2003-02-24

Family

ID=16045980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17829595A Expired - Fee Related JP3379675B2 (ja) 1995-06-21 1995-06-21 逆実行デバッグシステム

Country Status (1)

Country Link
JP (1) JP3379675B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235510A (ja) * 1999-02-15 2000-08-29 Hitachi Ltd プロセッサおよびそのためのコンパイルプログラム記録媒体
JP2003122595A (ja) * 2001-10-11 2003-04-25 Mitsubishi Electric Corp ソフトウェア障害解析方法及び装置
JP2004062858A (ja) * 2002-07-29 2004-02-26 Arm Ltd データ処理装置内のアプリケーション・コードのコンパイル
JP2009110375A (ja) * 2007-10-31 2009-05-21 Nec Corp 計算機及び障害再現方法並びにプログラム
JP2017130068A (ja) * 2016-01-20 2017-07-27 富士電機株式会社 プログラマブルコントローラシステム、その開発支援装置、ターゲット装置
JP2019537782A (ja) * 2016-10-11 2019-12-26 グリーン ヒルズ ソフトウェア, エルエルシーGreen Hills Software, Llc 垂直統合インストルメント化およびトレース再構成のためのシステム、方法およびデバイス
JP2022154258A (ja) * 2021-03-30 2022-10-13 富士通株式会社 不正箇所特定プログラム、不正箇所特定装置、及び不正箇所特定方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235510A (ja) * 1999-02-15 2000-08-29 Hitachi Ltd プロセッサおよびそのためのコンパイルプログラム記録媒体
JP2003122595A (ja) * 2001-10-11 2003-04-25 Mitsubishi Electric Corp ソフトウェア障害解析方法及び装置
JP2004062858A (ja) * 2002-07-29 2004-02-26 Arm Ltd データ処理装置内のアプリケーション・コードのコンパイル
JP2009110375A (ja) * 2007-10-31 2009-05-21 Nec Corp 計算機及び障害再現方法並びにプログラム
JP2017130068A (ja) * 2016-01-20 2017-07-27 富士電機株式会社 プログラマブルコントローラシステム、その開発支援装置、ターゲット装置
JP2019537782A (ja) * 2016-10-11 2019-12-26 グリーン ヒルズ ソフトウェア, エルエルシーGreen Hills Software, Llc 垂直統合インストルメント化およびトレース再構成のためのシステム、方法およびデバイス
US11243871B2 (en) 2016-10-11 2022-02-08 Green Hills Software Llc Systems, methods, and devices for vertically integrated instrumentation and trace reconstruction
US11609840B2 (en) 2016-10-11 2023-03-21 Green Hills Software Llc Systems, methods, and devices for vertically integrated instrumentation and trace reconstruction
US12001316B2 (en) 2016-10-11 2024-06-04 Green Hills Software Llc Systems, methods, and devices for vertically integrated instrumentation and trace reconstruction
US12346238B2 (en) 2016-10-11 2025-07-01 Green Hills Software Llc Systems, methods, and devices for vertically integrated instrumentation and trace reconstruction
JP2022154258A (ja) * 2021-03-30 2022-10-13 富士通株式会社 不正箇所特定プログラム、不正箇所特定装置、及び不正箇所特定方法

Also Published As

Publication number Publication date
JP3379675B2 (ja) 2003-02-24

Similar Documents

Publication Publication Date Title
US8261130B2 (en) Program code trace signature
US5870607A (en) Method and apparatus for selective replay of computer programs
CN101446918B (zh) 一种实现用户态调试器调试单个函数的方法及系统
US8266608B2 (en) Post-compile instrumentation of object code for generating execution trace data
US5313387A (en) Re-execution of edit-compile-run cycles for changed lines of source code, with storage of associated data in buffers
US7533246B2 (en) Application program execution enhancing instruction set generation for coprocessor and code conversion with marking for function call translation
US6240545B1 (en) Setting instance breakpoints in object oriented computer programs
US8448152B2 (en) High-level language, architecture-independent probe program compiler
JP2004062858A (ja) データ処理装置内のアプリケーション・コードのコンパイル
JPH0778751B2 (ja) バイアスされた疑似ランダム・テスト・パターンを動的に生成する方法
WO2005111801A2 (en) Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems
US20130125096A1 (en) Systems and Methods for Dynamic Collection of Probe Call Sites
KR20110070468A (ko) 인스트루먼테이션 실행 장치 및 방법
US7676774B2 (en) System LSI verification system and system LSI verification method
JP3379675B2 (ja) 逆実行デバッグシステム
JP4503203B2 (ja) 情報処理装置を評価するためのテストプログラムを作成する方法、装置、およびそのための処理を記述したプログラム
JP2715988B2 (ja) プログラムシミュレータ装置及びプログラムデバッグ方法
Al-Sharif et al. The use of dynamic temporal assertions for debugging
JP2002268918A (ja) 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体
Rozhon Capturing & Modifying GPU Binaries in User-mode
JP4479738B2 (ja) プログラマブルコントローラ
JPH05108404A (ja) デバツガシステム
JP2004213540A (ja) 半導体記憶装置およびソフトウェア開発装置
JP2003050717A (ja) プログラムトレース装置及び方法
JP2002189613A (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081213

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091213

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees