ABA


"עזרה בבעיה שיש לי באסמבלי"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #21969 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 21969
Simple  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 28.1.06
18765 הודעות, 22 פידבק, 31 נקודות
   14:04   08.04.17   
אל הפורום  
  עזרה בבעיה שיש לי באסמבלי  
 
   במסגרת עבודה ברמה בסיסית באסמבלי נדרשתי לכתוב פונקציה בסי שקוראת לפונקציה באסמבלי מבצעת פעולות שחלק מהן קוראות לפונקציות חזרה בסי וממשיכות באסמבלי וזהו בגדול.
העניין הוא שקצת קשה לעקוב אחרי מצב המחסנית וניסיתי להבין דרך gdb מה הולך בלי הרבה הצלחה,אני מקבל מידע ממנו שלא ברור לי לאיפה הוא מטייל (מתוך השמות של הפונקציות אני מניח שלתוך מימוש פנימי של הפונקציות שאני קורא להן)
העניין הוא כזה-הכל עובד מצויין אך כשאני מנסה לשחרר את המחסנית לאחר הקריאה לפונקציה אני נתקל בבעיה בקריאה ל popad ומקבל sigmentation fault, ללא השורה הזאת הכל עובד מצויין,פירקתי את popad לpops שהוא מבצע בפועל בתוך הפקודה ובדקתי איזה pop עושה את הבעיה והמסקנה היא ש pop ebp הוא הבעייתי,ניסיתי למצוא מידע בגוגל ללא הצלחה על למה זה קורה ואיפה יש משהו לא טוב שאני ניגש אליו.
אשמח לעזרתכם.


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  נשמע שצריך את כל הקוד :( Dark-Wish 08.04.17 19:03 1
     מצורף Simple  08.04.17 20:54 2
         כן, תשתמש ב debugger אני רואה שאתה עובד על Ubuntu אז פשוט תשתמש ב GDB GaL 10.04.17 19:24 3
             אלוף תודה! Simple  12.04.17 11:34 4

       
Dark-Wish
חבר מתאריך 25.5.05
12576 הודעות, דרג אמינות חבר זה
   19:03   08.04.17   
אל הפורום  
  1. נשמע שצריך את כל הקוד :(  
בתגובה להודעה מספר 0
 
   עשית בהתחלה pushad?
כנראה שהמחסנית שלך לא כמו שאתה חושב
למה עשית add 12? יש רק 2 ארגיומנטים לא?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Simple  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 28.1.06
18765 הודעות, 22 פידבק, 31 נקודות
   20:54   08.04.17   
אל הפורום  
  2. מצורף  
בתגובה להודעה מספר 1
 
   ערכתי לאחרונה בתאריך 09.04.17 בשעה 00:24 בברכה, Simple
 

עשיתי בהתחלה pushad
יש איזה דרך נוחה לעקוב אחרי מה שקורה במחסנית?
מצורף הקובץ סי והקובץ אסמבלי
@Dark-Wish

שים לב שיש הערה על השורה הבעייתית ולכן זה יעבוד-קלט לבדיקה:
900 אנטר
2 אנטר
תשובה:225

עריכה: מצאתי את הבעיה - לא עשיתי פופ למשהו במחסנית,בכ"ז אשמח לדעת אם יש כלי מעניין או דרך כלשהי לדעת מה מצב המחסנית בצורה נוחה.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
GaL לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 24.9.09
791 הודעות, 2 פידבק, 4 נקודות
   19:24   10.04.17   
אל הפורום  
  3. כן, תשתמש ב debugger אני רואה שאתה עובד על Ubuntu אז פשוט תשתמש ב GDB  
בתגובה להודעה מספר 2
 
x/10x $ebp תוכל לראות את 10 הערכים הראשונים במחסנית בייצוג ה Hex שלהם.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Simple  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 28.1.06
18765 הודעות, 22 פידבק, 31 נקודות
   11:34   12.04.17   
אל הפורום  
  4. אלוף תודה!  
בתגובה להודעה מספר 3
 
  


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

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

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



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