PDA

View Full Version : سوال: مشکل در Debug کردن برنامه



رافعی مهدی
پنج شنبه 14 شهریور 1387, 10:50 صبح
سلام
الان چند وقته که یکی از پروژه هام درست Debug نمیشه. VS بجای اینکه Error رو نشون بده که در چه جایی اتفاق افتاده، یه پنجره شبیه به عکس ضمیمه شده رو میاره! :ناراحت:
کسی می دونه چرا؟




.

ali_kashani
پنج شنبه 14 شهریور 1387, 16:09 عصر
سلام

اين پنجره مارم بيچاره كرده وقتي vs را داخل هر سيتمي نصب مي كنم با باز كردن بعضي از برنامه ها اين پنجره باز شده و با بستن پنجره همه برنامه ها هم بسته ميشه


اگه كسي مي تونه ، كمك كنه كه كلا اين قابليت vs را غير فعال كنيم

mehdi.mousavi
جمعه 15 شهریور 1387, 00:20 صبح
سلام
الان چند وقته که یکی از پروژه هام درست Debug نمیشه. VS بجای اینکه Error رو نشون بده که در چه جایی اتفاق افتاده، یه پنجره شبیه به عکس ضمیمه شده رو میاره! :ناراحت:
کسی می دونه چرا؟

.

سلام.
اگر نسخه Debug برنامه اتون در حال اجراست، کافیه تا در این پنجره کلید Yes رو بزنید. به این ترتیب VS خطی رو که برنامه در اون خط Exception یا Assert خورده، بهتون نشون میده. (به شرط اینکه نسخه Debug در حال اجرا باشه، و بتونه Debugging Info. های اون Process رو Load کنه).

پاورقی: آیا از Win32 API ها در کدتون استفاده کردید؟ ضمنا، اگر ناحیه از کد رو که این خطا رخ میده بتونید در try/catch قرار بدید، میتونید با استفاده از Marshal.GetLastWin32Error() کد خطای Win32 مورد نظر رو بگیرید تا بشه سریعتر به مشکل پی برد.

رافعی مهدی
جمعه 15 شهریور 1387, 01:10 صبح
سلام.
اگر نسخه Debug برنامه اتون در حال اجراست، کافیه تا در این پنجره کلید Yes رو بزنید. به این ترتیب VS خطی رو که برنامه در اون خط Exception یا Assert خورده، بهتون نشون میده. (به شرط اینکه نسخه Debug در حال اجرا باشه، و بتونه Debugging Info. های اون Process رو Load کنه).

پاورقی: آیا از Win32 API ها در کدتون استفاده کردید؟ ضمنا، اگر ناحیه از کد رو که این خطا رخ میده بتونید در try/catch قرار بدید، میتونید با استفاده از Marshal.GetLastWin32Error() کد خطای Win32 مورد نظر رو بگیرید تا بشه سریعتر به مشکل پی برد.
آره نسخه ي Debug در حال اجراست ولي وقتي دكمه ي yes رو ميزنم يه پيغام ميده كه الان يه Debugger به اين برنامه متصل شده و نميشه اين كار رو كرد! در نتيجه هيچ فرقي نميكنه كه yes رو انتخاب كنم يا no. :ناراحت:
ولي اگه به روش Trace دستي Bug رو پيدا كنم، باز هم نميگه كه چه Exception اي رخ داده. گاهي دقيقاً به اين روش مي فهمم كه Error مربوط به كدوم خطه ولي نميگه چرا همچين Error اي اتفاق مي افته، واسه همين بايد كلي فكر كنم و جوانب كار رو حسابي بررسي كنم تا خودم دليل خطا رو پيدا كنم. (كه گاهي كارم بدجوري وحشتناك ميشه)

جواب پاورقي: آره توي اين پروژه WndProc رو به صورت دستي پروسس مي كنم. پيشنهاد خوبي داديد! مرسي