PDA

View Full Version : این خطا مربوط به چیست!؟



drahmadtaraffoo
سه شنبه 11 خرداد 1389, 19:10 عصر
بسم الله الرحمن الرحیم
دوستان سلام
این خطا مربوط به چیست!؟ و چگونه رفع می شود؟
متشکرم



Access violation at address 0040435C in madule 'Project1.exe'. Write of address 00000244

حسین شهریاری
سه شنبه 11 خرداد 1389, 19:19 عصر
آدرس خواندن یا نوشتن دو پروسه یکی شده!!

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

این پیام بیشتر زمانی نمایش داده می شود که شما عنصری را که هنوز Create نشده را سعی میکنید ازش استفاده کنید.
حالا بفرمایید چیکار کردین که این پیام خطا را مشاهده کردید؟تا بگم چیکار کنید.

Mahmood_M
سه شنبه 11 خرداد 1389, 22:31 عصر
Access Violation دلیل مشخص و خاصی نداره که بگیم حتما به این دلیل ایجاد شده ، باید مشخص بشه که دقیقا روی چه خطی از برنامه پیغام نمایش داده میشه ، یکی از دلایلش می تونه همون موردی باشه که جناب شهریاری گفتن ...

behnam_dr
سه شنبه 11 خرداد 1389, 23:26 عصر
اگر Trace میکنی و خطا رو میبینی در حالی که هیچ مشکل خاصی ندارید در نحوه به کار بردن دستورات ، مطمئنا سیستم شما آلوده به ویروس است . . . عینا من این تجربه رو داشتم . پیروز باشید.

vcldeveloper
چهارشنبه 12 خرداد 1389, 00:03 صبح
آدرس خواندن یا نوشتن دو پروسه یکی شده!!
AV لزوما در صورت دسترسی غیر مجاز به آدرس های یک Process دیگه رخ نمیده، بلکه هر نوع دسترسی غیر مجازی، میتونه منجر به AV بشه، مثلا یک Process ممکنه بخواد به آدرسی که برای کرنل ویندوز در فضای آدرس همون Process رزرو شده، دسترسی پیدا کنه.


این خطا مربوط به چیست!؟ و چگونه رفع می شود؟
یه مقاله از سایت delphi.about.com که توسط آقای خورسندی سال ها قبل ترجمه شده، درباره Access Violation، چرایی ایجاد آن، و چگونگی برخورد با آن، در سایت موجود هست. اگر جستجو کنید، پیداش می کنید.

Access Violation یک خطای خیلی کلی هست، و نمیشه فقط با دادن متن خطا، انتظار کمک خاصی از دیگران داشت. بهترین کاری که شما می تونید در حال حاضر انجام بدید، اینه که بعد از وقوع خطا، اجرای برنامه را در دلفی Break کنید، و ببینید که چه خطی از کد توسط دیباگر قرمز میشه. البته خیلی وقت ها آدرس مربوطه خارج از کدهای شما ست. می تونید با مراجعه به پنجره Call Stack بررسی کنید که کدوم تابع یا متد در کد شما در هنگام وقوع خطا در حال اجرا بوده.