دیباگ در کیوت
-
wrote on 25 Jan 2012, 17:09 last edited by
سلام
من قبلاْ توی اکلیپس کد میزدم و اونجا وقتی دیباگ میکردم میتونستم مقدار همه ی متغیرها رو توی هر خط اجرای برنامه ببینم و دنبال کنم
توی کیوت تازه کارم، با کیوت کریتور چطوری این کار رو میشه کرد؟ -
wrote on 27 Jan 2012, 22:10 last edited by
p{direction:rtl; text-align:right}. سلام. تصویر رو نگاه بنداز
!http://img4up.com/up2/01034116025661862813.png(debug)! -
wrote on 28 Jan 2012, 21:21 last edited by
ممنون ولی نشد
-
wrote on 28 Jan 2012, 22:01 last edited by
p{direction:rtl; text-align:right}. گزینه debug را انتخاب کنید
!http://up98.org/upload/server1/01/z/1y7nmoc3muhj855ht6a7.png(debug)! -
wrote on 29 Jan 2012, 21:14 last edited by
ممنون مهدی جان
مشکل حل شد ولی فقط متغیرهای توی فایل اصلی رو تریس می کنه و متغیرهای توی بقیه فایل ها رو نشون نمیده
من برای دیالوگ یه کلاس تعریف کردم که میخوام متغیرهای اون هم بررسی بشنمثلا توی برنامه زیر می خوام متغیرهای توی mainwindow.h هم trace بشن
@#include <QtGui/QApplication>
#include "mainwindow.h"int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();return a.exec();
}@
راستی چطوری اینجا راست به چپ مینویسی؟
-
wrote on 29 Jan 2012, 22:03 last edited by
p{direction:rtl; text-align:right}. فقط کافیه در خط مورد نظرتون یک Breakpoint تعریف کنید
p{direction:rtl; text-align:right}. برای راست به چپ از کد زیر استفاده کنید
p{direction:rtl; text-align:right}.
-
wrote on 30 Jan 2012, 16:28 last edited by
[right_aligned]
این رو ببین مهدی جان
برنامه کامل دیباگ شده ولی هنوز خبری از متغیرها نیست!http://up98.org/upload/server1/01/a/vdypvcosu103tu04x.png(a)!
-
wrote on 30 Jan 2012, 19:34 last edited by
p{direction:rtl; text-align:right}. دیباگر روی Breakpoint هایی که مشخص میکنید متوقف میشه؟
p{direction:rtl; text-align:right}. روی علامت مثلث سبز رنگ کلیک میکنی یا روی علامت مثلث سبز رنگی که روی اون شکل یک حشره است؟
حدسم اینه که شما روی مثلث سبز رنگ کلیک میکنید -
wrote on 30 Jan 2012, 20:05 last edited by
p{direction:rtl; text-align:right}. توی تصویر بالایی دیباگ در حال اجرا نیست. چون اصلا تو پنجرهٔ دیباگ ترد خالیه. جایی هم نایستاده. همونطور که مهدی گفت شما برنامه رو اجرا کردید دیباگش نکردید.
-
wrote on 30 Jan 2012, 20:37 last edited by
رو میزنم همون حشره دارهStart Debuggingنه من دکمه
ها هم دایره های قرمز رنگ میشن ولی دیباگر روی اونا متوقف نمیشهBreakpoint
-
wrote on 30 Jan 2012, 20:42 last edited by
p{direction:rtl; text-align:right}. کلن دیباگر نصب کردی؟ کامپایلرت چیه؟
-
wrote on 30 Jan 2012, 21:10 last edited by
کامپایلرم جی سی سی ه
توی فدورا هم کار میکنم
تمام بسته های کیوت رو هم نصب کردم -
wrote on 31 Jan 2012, 01:23 last edited by
p{direction:rtl; text-align:right}. به مسیر زیر برو و مطمئن شو که دیباگر نصبه
،Tools -> Options... -> Build & Run -> Tool Chains
-
wrote on 31 Jan 2012, 08:32 last edited by
این عکسشه
![img]http://1.blinks.webege.com/images/6ba72172e6a4.png/img!
-
wrote on 31 Jan 2012, 13:40 last edited by
p{direction:rtl; text-align:right}. از لیست Tool Chains کامپایلر خودت رو انتخاب کن
!http://up98.org/upload/server1/01/a/ka4yv0ly3flrz4iau17.png(check_debugger)! -
wrote on 31 Jan 2012, 13:51 last edited by
p{direction:rtl; text-align:right}. در حالت کلی دو مدل باینری داریم. باینریهای نهایی (Release) و باینریهای دیباگ. دیباگها حجمشون خیلی بیشتره. چون اطلاعات مربوط به کد رو نگه میدارن.
وقتی یک بار برنامه رو در حالت Release کامپایل کنی، برای اجرای دیباگ، باید یک بار clean کنی تمام object ها و باینریهای نهایی (در لینوکس فایلهای .o) پاک بشن و دوباره بهشکل دیباگ ساخته بشن. در غیر این صورت نمیشه باینری نهایی رو تریس کرد.
جدای از همهٔ اینها در حالت کلی برای دیباگ کردن هر برنامهای (چه کیوت چه معمولی) باید GDB (GNU Debugger) روی سیستم نصب باشه. دو پست قبل، دوتا بالاتر از ToolChain قسمت دیباگ هست. اونجا رو نگاه کن... -
wrote on 31 Jan 2012, 14:36 last edited by
-
wrote on 31 Jan 2012, 14:42 last edited by
رو امتحان میکنم ببینم چی میشه clean
-
wrote on 31 Jan 2012, 15:52 last edited by
آقا دستتون درست
درست شد مشکل از همون clean نکردن بودفقط یه چیز دیگه برای دیباگ خط به خط حتماْ باید برای همه ی خط های برنامه breakpoint تعریف کنم؟
این کد رو کجا بذارم که کار کنه؟
p{direction:rtl; text-align:right}. -
wrote on 31 Jan 2012, 18:57 last edited by
p{direction:rtl; text-align:right}. دیباگ بر شما مبارک!
ُStep Into
!http://up98.org/upload/server1/01/a/ibr7v8qeavc8ideqpo3z.png(Step Into)!p{direction:rtl; text-align:right}. اون کد رو هم در همون خطی که راست به چپ میخوای بنویسی درج کن
7/23