Bagikan melalui


Manajer debug sesi

Manajer debugging sesi (SDM) mengelola sejumlah mesin debugging (DE) yang men-debug sejumlah program dalam beberapa proses di sejumlah komputer. Selain menjadi multiplexer mesin debug, SDM menyediakan tampilan terpadu dari sesi debug ke IDE.

Pengelolaan debug sesi

Manajer debug sesi (SDM) mengelola DE. Mungkin ada lebih dari satu mesin debug yang berjalan pada mesin secara bersamaan. Untuk menggabungkan DEs, SDM mengemas sejumlah antarmuka dari DEs dan mengeksposnya ke IDE sebagai satu antarmuka.

Untuk meningkatkan performa, beberapa antarmuka tidak di-multipleks. Sebaliknya, mereka digunakan langsung dari DE, dan panggilan ke antarmuka ini tidak melalui SDM. Misalnya, antarmuka yang digunakan dengan konteks memori, kode, dan dokumen tidak di-multipleks, karena merujuk ke instruksi, memori, atau dokumen tertentu dalam program tertentu yang di-debug oleh DE tertentu. Tidak ada DE lain yang perlu terlibat dalam tingkat komunikasi tersebut.

Ini tidak berlaku untuk semua konteks. Panggilan ke antarmuka konteks evaluasi ekspresi melalui SDM. Selama evaluasi ekspresi, SDM membungkus antarmuka IDebugExpression2 yang diberikannya ke IDE karena ketika ekspresi tersebut dievaluasi, mungkin melibatkan beberapa DEs yang men-debug program dalam proses yang sama yang mungkin berjalan pada utas yang sama.

SDM biasanya bertindak sebagai mekanisme delegasi, tetapi mungkin bertindak sebagai mekanisme siaran. Misalnya, selama evaluasi ekspresi, SDM bertindak sebagai mekanisme penyiaran untuk memberi tahu semua DE bahwa mereka dapat menjalankan kode pada thread tertentu. Demikian pula, saat SDM menerima peristiwa penghentian, SDM menyiarkan ke program bahwa mereka harus menghentikan operasi. Ketika sebuah langkah dipanggil, Manajer Sumber Daya Sistem menyiarkan kepada program bahwa mereka dapat terus berjalan. Titik jeda juga disiarkan ke setiap DE.

SDM tidak melacak program, utas, atau bingkai tumpukan saat ini. Informasi tentang proses, program, dan utas dikirim ke SDM bersamaan dengan peristiwa debugging tertentu.

Lihat juga