SilentError's Debugger

עמוד
מוצגות 1 תגובות (מתוך 1 סה״כ)
  • מאת
    תגובות
  • #83139
    Yoav
    משתתף

    כמו שאתם יודעים, בתחרות האחרונה השתמשנו (קבוצת SilentError) בדיבאגר שכתבתי בשנה האחרונה, והחלטנו לשחרר אותו לציבור הקודגורואים הרחב, כדי להעשיר ולאתגר אפילו עוד את התחרויות הבאות. אני מקווה שבקרוב חלק משינויי הדיבאגר יהפכו לרשמיים ויכנסו למנוע הרשמי, אבל עד אז רצ"ב קוד המקור של מנוע + הוראות להתקנה. לכל שאלה/בקשה הנוגעת לדיבאגר, אתם מוזמנים לדבר איתי, ואני אשמח להמשיך לתמוך בדיבאגר ולהוסיף פיצ'רים ועזרים למיניהם.

    בדיבאגר יש הרבה מאוד שינויים: חלקם אסטטים, חלקם של תכונות חדשות, ויש בו מספר תיקוני באגים מהמנוע הרשמי. הנה מספר מהשינויים, כשאת השאר אתם מוזמנים לחפש ולהתנסות בהם:
    – לדיבאגר יש מוד "אינסופי", כלומר שהמשחק לא מפסיק אם רק קבוצה אחת נשארה, וממשיך עד לאופקוד ה200,000. המוד הזה מאפשר לבדוק את השורדים בסביבה ניטרלית, ולבדוק האם הם הורגים אחד את השני.
    – אפשר לבקש מהדיבאגר שיריץ רק משחקים בהם נמצאת קבוצה מסוימת – השתמשנו באופציה הזאת כדי לבצע הרצות כבדות של כל שורדי העבר מכל השלבים נגד השורד שהגשנו לגמר: כך ניתן לראות אילו שורדים טובים במיוחד נגד השורד שלך.
    – בגרסה האחרונה של המנוע, ההרצה הפכה להיות מהרצה של כל האופציות האפשריות של קבוצות בגודל שניתן כפרמטר, להרצה של קבוצה אקראית בגודל הנדרש. בדיבאגר יש אופציה לבחור בין השתיים, כך שב"אימונים" ניתן לבדוק את השורד נגד כל אופציית הרצה, ובתחרות עצמה ניתן להתשמש בהרצה אקראית.
    – הדיבאגר מסוגל לרוץ גם דרך פקודה, ללא גרפיקה כלל. כל האופציות שקיימות בדיבאגר בעל הגרפיקה
    קיימות גם בגרסה "השקטה", ובגרסה השקטה גם קיימת אופציה נוספת, שאתם מוזמנים לחפש אותה ולהתנסות בה 😉
    – אופציית ה"סיד" תוקנה, וכעת "סיד" ריק יגרום לדיבאגר לא לבחור "סיד" כלל.
    – הדיבאגר מסוגל לפענח ולהראות את פקודות האסמבלי בזמן ריצה, תוך שימוש בקוד ג'אווה שמהיר הרבה יותר מלגשת לדיסאסמבלר חיצוני, כמו nasm. כמו כן, הדיבאגר מראה גם את מצב הזכרון של כל שורד, ומסוגל להראות את מה שנמצא במחסנית המקורית שלהם ובאזור המשותף שלהם.
    – כאשר שורד מת במהלך הריצה, הדיבאגר רושם איזו פקודה גרמה לו למות, דבר היכול לעזור למצוא באגים בשורד.
    – תיקוני באגים הנוגעים לכמות הריצות שכרגע מתבצעות, לעומת כמות הריצות בפועל.
    – בגרסאות האחרונות המנוע לא הראה את כל הזירה – תוקן בדיבאגר.
    – המנוע עוצר את ה"קרב" בין השורדים כאשר נשאר רק שורד אחד, בדיבאגר או מחפש את המקרה בו נשארה רק קבוצה אחת, ולא שורד אחד.
    – הצבע של כל שורד נשאר זהה בין "קרבות", כאשר שורד מספר 2 הוא בצבע זהה לשורד 1, רק כהה יותר. שימושי כדי להבין מי נגד מי ולמה.
    – עוד דברים שבטח פיספסתי

    לאורך השבוע-שבועיים הקרובים אנחנו נעלה את קוד המקור של השורד שלנו, עוד קצת הסברים עליו ו"תיקייה לקודגורואי(?) המתחיל", שמכילה את כל הדברים שאנחנו חושבים שצריך כדי להתחרות בתחרות.

    מקווה שעשיתי לכמה אנשים את החיים קלים, ושהפכתי את מלאכת כתיבת השורד למהנה וקלה יותר :).
    יואב, קבוצות SilentError, Paranoia, KenGeruX.

    קוד המקור + הורדה באתר גיטהאב:
    https://github.com/Yovaayova/corewars8086/releases/latest

מוצגות 1 תגובות (מתוך 1 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.