الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الاخوين عادل وهاني الاتاسي سؤال اخر في Debug

مغلق
بدأه musa في 1 سبتمبر 2001 · 6 رد · 534 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عند ما استخدم الدباق وذلك عند عمل بريك بوينت فانه عند الانتهاء من اي حدث ينتقل الدباق تلقائيا ليتحول الي شفره بلغة الاسمبلي

وسؤالي هو هل هناك طريقة تجعل الدباقر لايشفر البرنامج بالغة الاسمبلي بعد الانتهاء من تطبيق اي حدث وان يظل الدباقر منتظر لاي حدث اخر ليقوم بتطبيقه وان لاينتهى عمل الدباقر الا عند تنفيذ اخر امر وهو الخروج من البرنامج كما في لغة الدلفي

وشكرا

#2

أخي موسى ،

اضغ بالزر الأيمن فوق نافذة الكود وسوف تحصل على Context Menu منها قم باختيار أول أمر الذي هو Goto Source ..

وهذا كل شي ..

بس ال Debug إذا أردت أن تكتبها بالعربي تكتب الديبج وليس دباق ... :)

Coding on the Cloud and for the Cloud!

My Blog

#3

الاخ هاني

عندما اقوم بالضعط على الزر الايمن للماوس فان ال pop-up menu

تظهر وعند الضعط على امر ال Goto source فانه لايعود ولا ادري ماالسبب فهل لكم بالافاده

وشكرا

#4

أخي ،

لا أعرف بالظبط ما المشكلة ... أرسلي المشروع بالكامل على بريدي إن أمكن حتى ارى ما المشكلة ...

atassi@arabteam.nicmatic.com

:)

Coding on the Cloud and for the Cloud!

My Blog

#5

السلام عليكم.

على حسب ما فهمت منك أخي موسى فأنت تريد أن تكمل تنفيذ البرنامج بعد أن أوقفته لترى حالة البرنامج عند نقطة معينة , فإذا كان هذا ما تبحث عنه فاتبع التالي :

عندما يتوقف البرنامج عند ال Break Point التي حددتها و أنهيت تتبع التعليمات التي تريدها ما عليك سوى تنفيذ الأمر GO أو الضغط على الزر F5 من أجل متابعة تنفيذ البرنامج.

مع التحيات.

#6

انا اريد ان اتتبع البرنامج باستخدام ال Debug خطوه خطوه ولكن

مشكلتي انه اذا كان هناك حدثين مثلOnBconnect و OnAccept كما في المثال التالي

void CSockDlg::OnBconnect()

{

// Sync the variables with the controls

UpdateData(TRUE);

// Disable the connection and type controls

GetDlgItem(IDC_BCONNECT)->EnableWindow(FALSE);

GetDlgItem(IDC_ESERVNAME)->EnableWindow(FALSE);

GetDlgItem(IDC_ESERVPORT)->EnableWindow(FALSE);

GetDlgItem(IDC_STATICNAME)->EnableWindow(FALSE);

GetDlgItem(IDC_STATICPORT)->EnableWindow(FALSE);

GetDlgItem(IDC_RCLIENT)->EnableWindow(FALSE);

GetDlgItem(IDC_RSERVER)->EnableWindow(FALSE);

GetDlgItem(IDC_STATICTYPE)->EnableWindow(FALSE);

// Are we running as client or server?

if (m_iType == 0)

{

// Client, create a default socket

m_sConnectSocket.Create();

// Open the connection to the server

m_sConnectSocket.Connect(m_strName, m_iPort);

}

else

{

// Server, create a socket bound to the port specified

m_sListenSocket.Create(m_iPort);

// Listen for connection requests

m_sListenSocket.Listen();

}

}

void CSockDlg::OnAccept()

{

// Accept the connection request

m_sListenSocket.Accept(m_sConnectSocket);

// Enable the text and message controls

GetDlgItem(IDC_EMSG)->EnableWindow(TRUE);

GetDlgItem(IDC_BSEND)->EnableWindow(TRUE);

GetDlgItem(IDC_STATICMSG)->EnableWindow(TRUE);

}

فانني عندما اعمل breakpoint عند بدايه الحدث الاول OnBconnect

وباستخدام F11 فانه يقوم بتنفيذ الاوامر التي داخل الحدث OnBconnect امرا امرا ولكن عند وصوله نهاية هذا الحدث } فانه يتنقل مباشره الى الاسمبلي ولكني اريده ان ينتظرني حتى اقوم بتحفيز الحدث الثاني OnAccept ليقوم بتنفيذه كما في الحدث الاول

فهل من وسيلة تجعل شفرة الاسمبلي لاتظهر بين هذين الحدثين

وشكرا

#7

السلام عليكم.

الرد الذي كتبته لك أعلاه هو الجواب لسؤالك أي بعد الانتهاء من تنفيذ تعليمات التابع OnBConnect عليك الضغط على F5 فتظهر شاشة البرنامج مرة أخرى و عندها عليك وضع Break Point عند بداية التابع OnAccept و بالتالي عند تحفيز هذا التابع يتوقف البرنامج عند ال Break Point التي حددتها.

مع التحيات.

هذا الموضوع مغلق.

مواضيع مشابهة