JP2007128132A - スレッドデバッグ装置、スレッドデバッグ方法及びプログラム - Google Patents
スレッドデバッグ装置、スレッドデバッグ方法及びプログラム Download PDFInfo
- Publication number
- JP2007128132A JP2007128132A JP2005318078A JP2005318078A JP2007128132A JP 2007128132 A JP2007128132 A JP 2007128132A JP 2005318078 A JP2005318078 A JP 2005318078A JP 2005318078 A JP2005318078 A JP 2005318078A JP 2007128132 A JP2007128132 A JP 2007128132A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- threads
- target
- computer
- instruction
- 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
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000012545 processing Methods 0.000 claims abstract description 34
- 230000009191 jumping Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 18
- 238000011161 development Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3632—Software debugging of specific synchronisation aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
【解決手段】相互に関連して実行される複数のスレッドのうちデバッグ対象となる少なくとも1つの対象スレッドの、少なくとも一部の処理を、ターゲットコンピュータ20に実行させるとともに、前記複数のスレッドのうち前記対象スレッドを除いた対象外スレッドを、前記対象スレッドの実行中に、ターゲットコンピュータ20の少なくとも一部のハードウェア資源へのアクセスを制限しつつ、ターゲットコンピュータ20に実行させるスレッドデバッグ装置である。
【選択図】図1
Description
リチャード ストールマン、ローランド ペッシュ、スタン シェブス他、"Debugging with GDB"、[online]、平成12年3月、[平成17年9月22日検索]、インターネット<URL: http://www.asahi-net.or.jp/~wg5k-ickw/html/online/gdb-5.0/gdb-ja_toc.html>
Claims (7)
- コンピュータ上で相互に関連して実行される複数のスレッドに対して、当該複数のスレッドのうち一部のスレッドに対するデバッグを行うスレッドデバッグ装置であって、
前記複数のスレッドのうちデバッグ対象となる少なくとも1つの対象スレッドの、少なくとも一部の処理を、前記コンピュータに実行させる対象スレッド実行手段と、
前記複数のスレッドのうち前記対象スレッドを除いた対象外スレッドを、前記対象スレッド実行手段による前記対象スレッドの実行中に、前記コンピュータの少なくとも一部のハードウェア資源へのアクセスを制限しつつ、前記コンピュータに実行させる対象外スレッド実行手段と、
を含むことを特徴とするスレッドデバッグ装置。 - 請求項1に記載のスレッドデバッグ装置において、
前記対象外スレッドのそれぞれに、自分自身にジャンプする処理を実行する命令を埋め込む命令埋め込み手段をさらに含み、
前記対象外スレッド実行手段は、前記対象外スレッドに前記埋め込まれた命令を実行させることで、前記ハードウェア資源へのアクセスを制限することを特徴とするスレッドデバッグ装置。 - 請求項2に記載のスレッドデバッグ装置において、
前記複数のスレッドに含まれる各スレッドと、当該各スレッドに対して前記命令埋め込み手段による命令の埋め込みを行ったか否かを表す情報と、を対応づけるスレッドテーブルを保持するテーブル保持手段をさらに含み、
前記対象スレッド実行手段は、前記スレッドテーブルに基づいて、前記対象外スレッドの全てに対して、前記命令埋め込み手段による命令の埋め込みを行ったと判定した場合に、前記対象スレッドを前記コンピュータに実行させることを特徴とするスレッドデバッグ装置。 - 請求項1乃至3のいずれか一項に記載のスレッドデバッグ装置において、
前記複数のスレッドは、同時期にそれぞれ前記コンピュータが備える複数のプロセッサのいずれかに割り当てられて実行され、前記各スレッドが割り当てられた前記プロセッサ内のハードウェア資源を互いに参照できるように、前記各スレッドが参照するアドレス空間に前記プロセッサ内のハードウェア資源をマッピングすることを特徴とするスレッドデバッグ装置。 - コンピュータ上で相互に関連して実行される複数のスレッドであって、それぞれ所定の命令列を順次実行する複数のスレッドに対して、当該複数のスレッドのうち一部のスレッドに対するデバッグを行うスレッドデバッグ装置であって、
前記複数のスレッドのうちデバッグ対象となる少なくとも1つの対象スレッドの、少なくとも一部の処理を、前記コンピュータに実行させる対象スレッド実行手段と、
前記複数のスレッドのうち前記対象スレッドを除いた対象外スレッドを、前記対象スレッド実行手段による前記対象スレッドの実行中に、当該対象外スレッドの命令列の処理の進行を制限しつつ、前記コンピュータに実行させる対象外スレッド実行手段と、
を含むことを特徴とするスレッドデバッグ装置。 - コンピュータ上で相互に関連して実行される複数のスレッドに対して、当該複数のスレッドのうち一部のスレッドに対するデバッグを行うスレッドデバッグ方法であって、
前記複数のスレッドのうちデバッグ対象となる少なくとも1つの対象スレッドの、少なくとも一部の処理を、前記コンピュータに実行させる第1のステップと、
前記複数のスレッドのうち前記対象スレッドを除いた対象外スレッドを、前記第1のステップによる前記対象スレッドの実行中に、前記コンピュータの少なくとも一部のハードウェア資源へのアクセスを制限しつつ、前記コンピュータに実行させる第2のステップと、
を含むことを特徴とするスレッドデバッグ方法。 - コンピュータ上で相互に関連して実行される複数のスレッドに対して、当該複数のスレッドのうち一部のスレッドに対するデバッグを行うプログラムであって、
前記複数のスレッドのうちデバッグ対象となる少なくとも1つの対象スレッドの、少なくとも一部の処理を、前記コンピュータに実行させる対象スレッド実行手段、及び
前記複数のスレッドのうち前記対象スレッドを除いた対象外スレッドを、前記対象スレッド実行手段による前記対象スレッドの実行中に、前記コンピュータの少なくとも一部のハードウェア資源へのアクセスを制限しつつ、前記コンピュータに実行させる対象外スレッド実行手段、
としてコンピュータを機能させることを特徴とするプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005318078A JP4388518B2 (ja) | 2005-11-01 | 2005-11-01 | スレッドデバッグ装置、スレッドデバッグ方法及びプログラム |
US11/586,345 US8136097B2 (en) | 2005-11-01 | 2006-10-25 | Thread debugging device, thread debugging method and information storage medium |
EP06255589A EP1785872A3 (en) | 2005-11-01 | 2006-10-30 | Thread debugging device, thread debugging method and information storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005318078A JP4388518B2 (ja) | 2005-11-01 | 2005-11-01 | スレッドデバッグ装置、スレッドデバッグ方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007128132A true JP2007128132A (ja) | 2007-05-24 |
JP4388518B2 JP4388518B2 (ja) | 2009-12-24 |
Family
ID=37946042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005318078A Expired - Fee Related JP4388518B2 (ja) | 2005-11-01 | 2005-11-01 | スレッドデバッグ装置、スレッドデバッグ方法及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8136097B2 (ja) |
EP (1) | EP1785872A3 (ja) |
JP (1) | JP4388518B2 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341604B2 (en) * | 2006-11-15 | 2012-12-25 | Qualcomm Incorporated | Embedded trace macrocell for enhanced digital signal processor debugging operations |
US8533530B2 (en) * | 2006-11-15 | 2013-09-10 | Qualcomm Incorporated | Method and system for trusted/untrusted digital signal processor debugging operations |
US8370806B2 (en) | 2006-11-15 | 2013-02-05 | Qualcomm Incorporated | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor |
US8380966B2 (en) * | 2006-11-15 | 2013-02-19 | Qualcomm Incorporated | Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging |
US8484516B2 (en) * | 2007-04-11 | 2013-07-09 | Qualcomm Incorporated | Inter-thread trace alignment method and system for a multi-threaded processor |
US8739133B2 (en) * | 2007-12-21 | 2014-05-27 | International Business Machines Corporation | Multi-threaded debugger support |
US8291388B2 (en) * | 2008-01-09 | 2012-10-16 | International Business Machines Corporation | System, method and program for executing a debugger |
US20100049956A1 (en) * | 2008-08-20 | 2010-02-25 | Moyer William C | Debug instruction for use in a multi-threaded data processing system |
US9395983B2 (en) * | 2008-08-20 | 2016-07-19 | Freescale Semiconductor, Inc. | Debug instruction for execution by a first thread to generate a debug event in a second thread to cause a halting operation |
KR101581001B1 (ko) * | 2009-03-30 | 2015-12-30 | 삼성전자주식회사 | 프로그램의 동적 분석 방법 및 그 장치 |
US8561041B1 (en) * | 2009-06-22 | 2013-10-15 | The Mathworks, Inc. | Parallel execution of function calls in a graphical model |
US8549523B2 (en) * | 2009-11-23 | 2013-10-01 | International Business Machines Corporation | Performing runtime analysis and control of folding identified threads by assuming context of another thread and executing in lieu of another thread folding tool |
KR20110095050A (ko) * | 2010-02-18 | 2011-08-24 | 삼성전자주식회사 | 공유 라이브러리 디버깅 장치 |
US8719797B2 (en) * | 2010-05-18 | 2014-05-06 | Blackberry Limited | System and method for debugging dynamically generated code of an application |
KR20120019941A (ko) * | 2010-08-27 | 2012-03-07 | 삼성전자주식회사 | 프로그램의 동적 분석방법 및 그 장치 |
US8527970B1 (en) * | 2010-09-09 | 2013-09-03 | The Boeing Company | Methods and systems for mapping threads to processor cores |
US8589885B2 (en) * | 2010-09-30 | 2013-11-19 | Microsoft Corporation | Debugger launch and attach on compute clusters |
US8589922B2 (en) | 2010-10-08 | 2013-11-19 | International Business Machines Corporation | Performance monitor design for counting events generated by thread groups |
US8601193B2 (en) | 2010-10-08 | 2013-12-03 | International Business Machines Corporation | Performance monitor design for instruction profiling using shared counters |
US8489787B2 (en) | 2010-10-12 | 2013-07-16 | International Business Machines Corporation | Sharing sampled instruction address registers for efficient instruction sampling in massively multithreaded processors |
US8661413B2 (en) | 2011-04-13 | 2014-02-25 | International Business Machines Corporation | Impact indication of thread-specific events in a non-stop debugging environment |
US10754759B1 (en) * | 2018-02-05 | 2020-08-25 | Xilinx, Inc. | Breakpointing circuitry that evaluates breakpoint conditions while running clock to target circuit |
US11748233B2 (en) * | 2020-04-30 | 2023-09-05 | Red Hat, Inc. | Debugging a native compiled application from an integrated development environment |
CN115048145B (zh) * | 2022-06-14 | 2023-04-25 | 海光信息技术股份有限公司 | 一种信息采集方法、装置及相关设备 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450592A (en) * | 1992-09-02 | 1995-09-12 | Data General Corporation | Shared resource control using a deferred operations list |
JPH11338733A (ja) | 1998-02-27 | 1999-12-10 | Toshiba Corp | デバッグ装置及び記録媒体 |
US6862635B1 (en) * | 1998-11-13 | 2005-03-01 | Cray Inc. | Synchronization techniques in a multithreaded environment |
US6341338B1 (en) * | 1999-02-04 | 2002-01-22 | Sun Microsystems, Inc. | Protocol for coordinating the distribution of shared memory |
US20020059544A1 (en) | 1999-02-04 | 2002-05-16 | Boucher Michael L. | Methods and systems for determining and displaying activities of concurrent processes |
US6587967B1 (en) * | 1999-02-22 | 2003-07-01 | International Business Machines Corporation | Debugger thread monitor |
US6418442B1 (en) * | 1999-06-29 | 2002-07-09 | Sun Microsystems, Inc. | Method and apparatus for providing thread-specific computer system parameters |
US6681384B1 (en) * | 1999-12-23 | 2004-01-20 | International Business Machines Corporation | Multi-threaded break-point |
US7213247B1 (en) | 2000-01-10 | 2007-05-01 | Wind River Systems, Inc. | Protection domains for a computer operating system |
US6754850B2 (en) * | 2001-03-02 | 2004-06-22 | National Instruments Corporation | System and method for performing batch synchronization for a test sequence |
US6971084B2 (en) * | 2001-03-02 | 2005-11-29 | National Instruments Corporation | System and method for synchronizing execution of a batch of threads |
US7320125B2 (en) * | 2001-05-24 | 2008-01-15 | Techtracker, Inc. | Program execution stack signatures |
US7058948B2 (en) * | 2001-08-10 | 2006-06-06 | Hewlett-Packard Development Company, L.P. | Synchronization objects for multi-computer systems |
US7036125B2 (en) * | 2002-08-13 | 2006-04-25 | International Business Machines Corporation | Eliminating memory corruption when performing tree functions on multiple threads |
US6983456B2 (en) * | 2002-10-31 | 2006-01-03 | Src Computers, Inc. | Process for converting programs in high-level programming languages to a unified executable for hybrid computing platforms |
US7237241B2 (en) * | 2003-06-23 | 2007-06-26 | Microsoft Corporation | Methods and systems for managing access to shared resources using control flow |
US7496897B1 (en) * | 2004-03-17 | 2009-02-24 | Timesys Corporation | Multiple code sets for multiple execution contexts |
US7644409B2 (en) * | 2004-06-04 | 2010-01-05 | Sun Microsystems, Inc. | Techniques for accessing a shared resource using an improved synchronization mechanism |
JP4606142B2 (ja) * | 2004-12-01 | 2011-01-05 | 株式会社ソニー・コンピュータエンタテインメント | スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム |
US7774783B2 (en) * | 2004-12-23 | 2010-08-10 | Microsoft Corporation | Method and apparatus for detecting deadlocks |
US20070094669A1 (en) * | 2005-10-25 | 2007-04-26 | Microsoft Corporation | Shared resource acquisition |
-
2005
- 2005-11-01 JP JP2005318078A patent/JP4388518B2/ja not_active Expired - Fee Related
-
2006
- 2006-10-25 US US11/586,345 patent/US8136097B2/en active Active
- 2006-10-30 EP EP06255589A patent/EP1785872A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1785872A2 (en) | 2007-05-16 |
EP1785872A3 (en) | 2010-03-31 |
US8136097B2 (en) | 2012-03-13 |
JP4388518B2 (ja) | 2009-12-24 |
US20070168985A1 (en) | 2007-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4388518B2 (ja) | スレッドデバッグ装置、スレッドデバッグ方法及びプログラム | |
CN109726135B (zh) | 一种多核调试方法、装置及计算机可读存储介质 | |
US7992042B2 (en) | Debug support device, and program for directing computer to perform debugging method | |
US8327336B2 (en) | Enhanced thread stepping | |
US10191835B2 (en) | Multi-threaded debugger support | |
US5630049A (en) | Method and apparatus for testing software on a computer network | |
JP3965142B2 (ja) | コンピュータ・プログラムをデバックするための方法、システムおよびソフトウェア・プロダクト | |
JP3571976B2 (ja) | デバッグ装置及び方法並びにプログラム記録媒体 | |
US20050034104A1 (en) | Method for multi-language debugging | |
KR102025078B1 (ko) | 단일 스텝 실행을 이용한 코드 진단 | |
US8423970B2 (en) | Method, computer program product, and hardware product for handling breakpoints in an asynchronous debug model | |
US20060259750A1 (en) | Selectively embedding event-generating instructions | |
JP2008052533A (ja) | デバッグ装置 | |
CN112711527A (zh) | 一种实时进程的调试方法、装置、目标机和存储介质 | |
JP2007004516A (ja) | 組込みシステムのプログラムデバッグ方法 | |
JP2010015364A (ja) | マルチプロセッサシステム及び情報処理装置 | |
JP2008140124A (ja) | データ処理装置 | |
CN112802527B (zh) | 嵌入式闪存高速编程的实现方法、嵌入式闪存的编程系统 | |
WO2006070510A1 (ja) | プログラムデバッグ装置、プログラムデバッグ方法及び情報記憶媒体 | |
JP2007213396A (ja) | デバッグシステム、オペレーションシステム、デバッグ方法、プログラム | |
JP2006293515A (ja) | Osエミュレータ時間経過制御装置 | |
JP2002366378A (ja) | プログラムのデバッグ装置及びデバッグ方法、並びに記憶媒体 | |
JP2006350676A (ja) | 組込みシステムのプログラムデバッグ方法 | |
JP2002244883A (ja) | デバッグ支援装置、デバッグ支援方法及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2007041887A (ja) | デバッグ装置、そのメモリアクセス方法およびメモリアクセス方法を実現するプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090220 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090929 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4388518 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121009 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131009 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |