رفتن به مطلب

دیباگر

امتیاز دادن به این موضوع:


king75
 اشتراک گذاری

براي جلوگیری از تکراری شدن تاپیک ها قبل از ارسال از قسمت جستجوی سایت استفاده کنید. تاپیک های تکراری حذف خواهند شد.

تاپیک ها باید در انجمن های مناسب زده شوند. قبل از ارسال تاپیک عنوان انجمن را بخوانید.

ارسال های توصیه شده

Si یک Debugger که وظیفه غلط یابی و ... را بر عهده داره:

اصولا debug ها دو نوع می باشند . یک نوع همومنه که هنگام برنامه نویسی غلط برنامه را می گره

دومین نوع debugger ها، برنامه یا سخت افرازی که بین سیستم عامل و برنامه اجرایی قرار گرفته و هسته Kernel سیستم عامل رو کنترل میکنه و در نتیجه قابلیت trace رد یابی رو به ما می ده.

debugger نوع اول رو همه میشناسان و در مورد نوع دوم :

همانطور که گفتم این نوع از Debugger ها نرم افزار اند مثل Trw2000و SI و یا سخت افزارند مثل کنترل کننده های Ice ها . ما با رسته دوم از دسته دوم کاری نداریم و میریم به سراغ رسته اول از دسته دوم.

قرار گیری این نرم افزار ها به این صور تکه در زیر نشون دادم . این خیلی مهم که به دونید یک Debugger کجا فرار میگیره.

debugger kernel Programl <سیستم Dos

مثل Si .که Debugger هسته یا Kernel رو کاملا احاطه کرد و در نتیجه کاملا بر برنامه تسلط دارد.

Program debuger

debugger

Program ^ <سیستم Dos

kernel l

مثل TRW2000 .که Debugger با هسته بصورت پایاپای در حال اجرا است و تسلط کامل بر برنامه ندارد.

خوب معلومه که SI بهتره و بخاطر همین مزیت و دیگر مسائل بهترین Debugger برای Windows.

این هم خلاصه ای از نحوه عملکرد Debugger ها .میرسیم به نصب SI.

نصب SI. ابتدا اینجا رو کامل بخوانید بعدش عمل کنید:

برای نصب بهتره دو تا ویندوز داشته باشید یکی 98 برای برنامه های که تحت 98 اجرا می شن و 2000 برای ....

هنگام نصب برنامه از شما نوع Monitor نوع موش رو میپرسه . برای Monitor انتخاب اول بهترینه . ولی برای Mouse اگر موش شما Ps2 باشه بهتره بعد از انتخاب نوع آن جعبه Checkbox زیر آن را انتخاب کنید.(Microsoft IntelliMouse).

البته اگر موس شما در Soft ice درست کار نکرد بعدا می توانید ان را از Programs\NuMega SoftICE\Mouse Setup و همینطور برای Monitor از Programs\NuMega SoftICE\Display Adapter Setup تصحیح کنید.

خوب بعد از عملیات نصب برنامه دستگاه رو ریست مکنه. بعدشم هم SI نصب شده برای خاطر جمعی از نصب CTRL+ALET+D رو بزنید باید یک صفحه مشکی که بصورت متنی است بروی صفحه تون نمایش داده بشه

برای خروج می تونید از X>Enter و یا کلید F5 و یا .... استفاده کنید . در بعضی از دستگاه ها بعد از برگشت از Windows کلید ها درست کار نکرده . برای رفع مشکل . دکمه Alt رو فشار بدین و بعد ول کنید .( در صورت درست نشدن همین عملیات رو با کلید CTRLانجام بدین ).

× اگر این مشکل رو داشتید همیشه با SI این مشکل رو داشته و برای رفع آن از ALT یا Ctrl ( بر اساس تست اولیه ) استفاده کنید .

همونطور که احتمالا همه میدونید SoftICE یکی از دیباگرهای بسیار قوی هست که اکثر برنامه های درست و حسابی رو با اون کرک میکنند.

من از نسخه ۵/۴ این برنامه استفاده میکنم که بطور طبیعی در ویندوز ۹۸ استفاده میشه و بطور معمولی نمیشه از اون در ویندوز میلنیوم یا اکس پی استفاده کرد.

خوب ، بعد از نصب برنامه برای اینکه برنامه بدرستی کار کنه باید چند تنظیم جزئی در فایل Winice.dat ایجاد کنید تا چند تا از فایلهای DLL مهم ویندوز تحت کنترل SoftICE قرار بگیرن.

برای اینکار به محل نصب برنامه مراجعه کنید و فایل Winice.dat رو با Notpad یا یه چیزی مثل اون باز کنید و تغییرات زیر رو انجام بدید :

در فایل فوق یک خط بصورت زیر وجود داره :

PHYSMB=32

این خط نشوندهنده مقدار رم سیستم شماست ، پس مقدار اون رو به اندازه رم سیستم خودتون تنظیم کنید.

چند خط مهم دیگه هم بصورت زیر هستن :

; ***** Examples of export symbols that can be included for Windows 95 *****

; Change the path to the appropriate drive and directory

;EXP=c:\windows\system\kernel32.dll

;EXP=c:\windows\system\user32.dll

;EXP=c:\windows\system\gdi32.dll

;EXP=c:\windows\system\comdlg32.dll

;EXP=c:\windows\system\shell32.dll

همونطور که میبینید این خطوط شامل آدرس فایلهای DLL ویندوز شما هستن. اولا این علامتهای ; رو از اولشون بردارید و ثانیا اگه مسیر نصب ویندوز شما چیزی به غیر از اون مسیریه که نشون داده شده ، مسیر ها رو تصحیح کنید.

همین مقدار تنظیمات برای شروع کار کفایت میکنه. پس فایل رو ذخیره کنید و سیستم رو ریست کنید تا تغییرات اعمال بشه.

برای شروع کار با SoftICE و نشون داده شدن پنجره اصلی اون باید کلیدهای Ctrl+Dرو بزنید. توجه کنید که وقتی به SoftICE وارد میشید کل سیستم تحت اختیار این برنامه قرار میگیره یعنی شما هیچ کاری نمیتونین تا وقتی که توی SoftICE هستین با ویندوز انجام بدید و این به این معنی هست که اگه دارین موزیک گوش میکنید قبل از ورود به SoftICE باید تعطیلش کنید و گرنه خود SoftICE این کار به نحو ناجوری انجام میده یعنی موزیکی که دارین گوش میکنین روی یه قسمت گیر میکنه وهی تکرار میشه !

کلا در هنگام کار با SoftICE و کار بر روی یک برنامه برای کرک کردن اون با SoftICE سعی کنید تا حد امکان برنامه های در حال اجرای دیگه رو ببندید تا تداخلی در کار بوجود نیاد.

در پنجره SoftICE بصورت عادی از بالا به ترتیب پنجره ای برای نمایش رجیسترها و فلگها ، پنجره ای برای نمایش DATA ، پنجره ای برای نمایش کد برنامه ای که روی اون کار میشه و در آخر هم یک خط فرمان وجود داره.

توجه کنید که من نمیخوام SoftICE رو از سیر تا پیاز توضیح بدم و فقط قصد آشنا کردن شما با این برنامه رو دارم تا بتونم بعضی از کارهایی رو که با این برنامه میشه انجام داد رو برای شما بگم. بعضی از کارهایی که خودم با این برنامه انجام دادم.

پس اگه میخواهید که این برنامه رو کامل یاد بگیرین باید به مراجع دیگه ای مراجعه کنید.

بعضی از دستورها هستن که در SoftICE زیاد استفاده میشن که به مرور با اونها بیشتر آشنا میشید ولی الان چندتایی از اونها رو میگم :

BPX

من به شکل کلی این دستور کار ندارم و اونطوری که اکثرا ازش استفاده میشه رو میگم. با این دستور ما میتونیم روی اجرا شدن یک API خاص در برنامه کنترل داشته باشیم یعنی یک BreakPoint قرار بدیم. بعدا در مثالهای بعدی با طرز استفاده از این دستور آشنا میشید.

BC

با استفاده از این دستور میشه BreakPoint ها رو پاک کرد هم بطور کلی و هم بطور تک تک.

BD

با استفاده از این دستور میتونید یک BreakPoint یا همون BP رو غیرفعال کنید.

BE

با این دستور میشه BP غیرفعال شده رو باز فعال کرد.

BL

این دستور لیستی از BP های قرار داده شده به شما نشون میده.

D

با این دستور میتونید یک آدرس از حافظه رو و یا مقدار داخل یکی از رجیسترهای مختلف مثل EAX رو ببینید.

R FL Z

دستور فوق صرفا وضعیت فلگ صفر رو برعکس میکنه یعنی اگر فعال باشه ، غیرفعال و اگر غیر فعال باشه ، فعال میکنه. Z در این دستور نشوندهنده فلگ صفر هست که میشه اونرو به نام هر فلگ دیگه ای تغییر داد تا وضعیت فلگ مورد نظر برعکس بشه.

X

این دستور از SoftICE خارج میشه.

همچنین کلیدهایی که در SoftICE استفاده میشه به ترتیب زیر هست :

F8

از این کلید برای وارد شدن به یک زیربرنامه در هنگام کار بر روی کد برنامه استفاده میشه یعنی مثلا اگر HighLight رو یک دستور Call قرار داشته باشه با زدن این کلید به داخل Call نفوذ میکنید.

F10

این کلید برای جلو رفتن در کد بدون وارد شدن به زیربرنامه ها استفاده میشه. یعنی اگر بر روی Call باشید با زدن این کلید برنامه Call رو اجرا میکنه و به خط بعدی میره.

F11

این کلید برای اینه که شما از داخل یک تابع به محل فراخوانی اون تابع برگردید.

F12

این کلید هم مثل F11 هست با این تفاوت که از هرجای کد که باشین به بک مرحله قبلتر بر میگردین.

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • پاسخ 0
  • ایجاد شد
  • آخرین پاسخ

بهترین ارسال کنندگان این موضوع

روزهای محبوب

بهترین ارسال کنندگان این موضوع

در تاپیک ها، اگر سوال يا نظر خاصي نداريد لطفا فقط از دکمه می پسندم و ... استفاده کنيد. نظراتي مانند مرسی، خوب بود، ممنون و ... شامل اسپم هستند و باعث کاهش کيفيت پست ها مي شوند.

بالا آوردن تاپیک ها و پست ها قبل از 48 ساعت ممنوع است و موجب حذف آنها خواهد شد.

این موضوع کاملا قدیمی است. لطفا به جای بروز کردن این موضوع در نظر شروع یک موضوع جدید باشید مگر این که لازم به بروز رسانی این موضوع باشید.

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

 اشتراک گذاری

×
×
  • اضافه کردن...