ABA


"צריך רעיונות איך לדבג מולטי-פרוססים בשפת C.. קצת מורכב"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #20281 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 20281
dyermaker 
חבר מתאריך 4.2.03
1644 הודעות
   16:13   25.10.13   
אל הפורום  
  צריך רעיונות איך לדבג מולטי-פרוססים בשפת C.. קצת מורכב  
 
   אז יש לי 3 פרוססים עיקריים:

1) נקרא MAIN ועושה PARSING בלופ לכל מניי ערכים שהוא קורא ממקור חיצוני
2) נקרא NET והוא שולח פאקטות UDP (שה-MAIN ממלא) כאשר עולה בקשה
3) נקרא TIMER והוא מתזמן כל מני טיימרים ומרים דגלים

בינתיים עשיתי 3 ניסויים ואלה התוצאות:

1) כששולשתם רצים בשלב מסויים הפרוסס של הNET נתקע והפרוסס של הMAIN מתחיל להתחרבש

2) כשהNET והTIMER רצים לבד הכל עובד פיקס

3) כשהMAIN רץ לבד הכל עובד פיקס


עוד לא הרצתי את הMAIN עם הTIMER אבל אני לא חושב ששם יש בעיות.. נדמה שהבעיות קשורות לDEADLOCK (למרות שקשה לי להאמין) או דריסת זכרון כאשר הMAIN והNET רצים ביחד..

יש למישהו רעיונות איך אני יכול לדבג דבר כזה? (שני הפרוססים הם אלפי שורות קוד כמובן)

תודה לעוזרים


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  הדפסות בכל כניסה לפונקציה ספציפית + שם טרד Yariv-H 25.10.13 22:30 1
     זה פחות או יותר מה שעשיתי עד עכשיו אבל זה לחפש מחט בערימת שחת.. dyermaker  26.10.13 01:00 2
         נסה לחפש משהוא בסגנון של stack loger Yariv-H 26.10.13 09:01 3

       
Yariv-H לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
5856 הודעות, 1 פידבק
   22:30   25.10.13   
אל הפורום  
  1. הדפסות בכל כניסה לפונקציה ספציפית + שם טרד  
בתגובה להודעה מספר 0
 
   ואם זה לא מספיק אז פעולות קונקרטיות בתוך הפונקציות עצמם.

תקבל לוגים גדולים אבל תוכל לאתר את הבעייה דיי בקלות



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dyermaker 
חבר מתאריך 4.2.03
1644 הודעות
   01:00   26.10.13   
אל הפורום  
  2. זה פחות או יותר מה שעשיתי עד עכשיו אבל זה לחפש מחט בערימת שחת..  
בתגובה להודעה מספר 1
 
   ערכתי לאחרונה בתאריך 26.10.13 בשעה 01:04 בברכה, dyermaker
 
בגלל שאין פונקציות משותפות רק משתנים משותפים (שבזה אני חושד על דריסת זכרון או משהו דומה) ויש מלא פונקציות שונות שפונות למלא משתנים שונים (אבל משותפים) בכל ת'רד


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Yariv-H לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.3.02
5856 הודעות, 1 פידבק
   09:01   26.10.13   
אל הפורום  
  3. נסה לחפש משהוא בסגנון של stack loger  
בתגובה להודעה מספר 2
 
   או משהו כזה , היה לי פעם אחד כזה שצייר (לא בצורה איכותית כל כך ) את הכניסות של הטרדים/פונקציות על ציר הזמן אולי זה יתן לך עוד אינדיקציה.

אין פה מתכון קסם .


זה בדרך כלל חיפושים כאלו..

נסה סתם להוסיף Mutex-ים על משתנים חשודים ותיראה אם זה פותר את הבעייה שלך..



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net