دیباگ dll نوشته شده با C++ و تست آن با app C# - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

دیباگ dll نوشته شده با C++ و تست آن با app C#

+1 امتیاز
سلام.من یک dll با C++ نوشتم و توی برنامه C# ار این dll استفاده می کنم حالا قصد دارم با app مربوط به C# این dll را debug کنم راهی که خودم انجام می دم برنامه c# رو run می کنم سپس در dll مربوط به c++ میرم نو منوی debu بعد گزینه attch to process و برنامه c# را انتخاب می کنم ولی یک button روی فرم C# گذاشتم که آن تابع مورد نظرم را در dll فراخوانی می کنه توی تابع break point گذاشتم ولی رو توقف نمی کنه یعنی عملاً نمی تونم debug کنم علت چیه؟
سوال شده دی 16, 1392  بوسیله ی coders (امتیاز 39)   2 4 10

2 پاسخ

+2 امتیاز
 
بهترین پاسخ

حالا من یک کار می گم بدین صورت عمل کنید جواب می گیرید.

برید توی پروژه c# توی properties و سپس debug و بعد آن Enable unmanaged code debugging را فعال کنید. برنامه c# رو اجرا کنید.

حالا پروژه c++ را باز کنید و  property پروژه مورد نظر را باز کنید و سپس گزینه debugging و بعد اون توی command مسیر و نام برنامه c# رو مشخص کنید و سپس توی debugging یک گزینه دیگه وجود داره به نام attach و مقدار آن را yes کنید حالا تنظیمات را ذخیره کنید و بعد از آن dll مورد نظر را به عنوان پروژه پیش فرض قرار بدید  سپس کلید F5 را بزنید.

حالا برید سمت برتامه c# اون button را که قرار دادید رو کلیک کنید می بینید که می تونید dll C++ را debug کنید.

روش دیگر  هم از راه   attch to process هستش فقط در اینجا باید در پنجره ای که ظاهر میشه در گزینه attach to گزینه native را انتخاب کنید


 

موفق باشید

پاسخ داده شده دی 17, 1392 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
ویرایش شده تیر 18, 1393 بوسیله ی مصطفی ساتکی
0 امتیاز
یک راه حل دیگر که خیلی ساده است نیاز به true کردن attach هم نداره آدرس کامل مسیر برنامه c# را در command مربوط به C++ بدید و بعد F5 برنامه c#اجرا میشه و dll شما را فراخوانی می کنه.
پاسخ داده شده مرداد 24, 1402 بوسیله ی عباس مولایی (امتیاز 2,754)   1 5 13
...