01
מיום 03
בנה תצורות - בסיס: ניפוי באגים, שחרור
חלון מנהל הפרויקטים שלך דלפי (RAD Studio) IDE מציג ומארגן את תוכן קבוצת הפרויקטים הנוכחית שלך ואת כל הפרויקטים שהיא מכילה. הוא יפרט את כל היחידות שהן חלק מהפרויקט שלך וכן את כל הטפסים וקבצי המשאבים הכלולים.
החלק Build Configurations יציג תצורות בניה שונות שיש לך לפרויקט שלך.
חלקם אחרונים (כדי להיות נכונים: החל מ- דלפי 2007) גרסאות דלפי כוללות שתי (שלוש) תצורות ברירת מחדל: DEBUG ו- RELEASE.
במאמר Compilation Compilation 101 אמנם מוזכרים תצורות של מבנים, אך אינו מסביר את ההבדל בפרטים.
ניפוי באגים לעומת שחרור
מכיוון שאתה יכול להפעיל כל אחת מתצורות ה- build שאתה רואה במנהל הפרויקטים ולבנות את הפרוייקט שלך בהפקת קובץ הפעלה שונה, השאלה היא מה ההבדל בין ניפוי באגים ושחרור?
הכינוי עצמו: "ניפוי באגים" ו"שחרור "אמור לכוון אותך לכיוון הנכון.
- תצורת ניפוי באגים צריכה להיות פעילה ומשתמשת בזמן שאנחנו מפתחים וניפוי שגיאות ושינוי היישום שלך.
- יש להפעיל את תצורת השחרור כאשר אנו בונים את האפליקציה שלך כך שקובץ ההפעלה המיוצר יישלח למשתמשים.
עם זאת, נותרה השאלה: מה ההבדל? מה אתה יכול לעשות בזמן ש- "debug" פעיל ומה כלול בקובץ ההפעלה הסופי לעומת איך נראה ההפעלה כאשר מיושם "שחרור"?
בניית תצורות
כברירת מחדל, ישנן שלוש (למרות שבמנהל הפרוייקט אתה רואה רק שתיים) תצורות בנייה שנוצרו על ידי דלפי כשאתה מתחיל פרויקט חדש. אלה הם בסיס, ניפוי באגים ושחרור.
ה תצורת בסיס משמש כמערכת בסיס של ערכי אפשרות המשמש בכל התצורות שיצרת לאחר מכן.
ערכי האופציה שהוזכרו הם הידור ו מקשרים ועוד קבוצה נוספת של אפשרויות שתוכלו לשנות עבור הפרוייקט שלכם באמצעות תיבת הדו-שיח אפשרויות פרויקט (תפריט ראשי: פרויקט - אפשרויות).
ה תצורת ניפוי באגים מרחיב את Base על ידי השבתת אופטימיזציה והפעלת ניפוי באגים, וכן הגדרת אפשרויות תחביר ספציפיות.
ה שחרר את התצורה מרחיב את הבסיס כדי לא להפיק מידע על באגים סמלי, הקוד לא נוצר עבור שיחות TRACE ו- ASSERT, כלומר גודל ההפעלה שלך מצטמצם.
אתה יכול להוסיף תצורות לבנות משלך, ואתה יכול למחוק גם את תצורות ברירת המחדל של איתור באגים וגם שחרור, אך אינך יכול למחוק את בסיס הבסיס.
תצורות בניה נשמרות בקובץ הפרויקט (.dproj). ה- DPROJ הוא קובץ XML, כך הקטע עם תצורות build:
00400000.. \ $ (תצורה) \ $ (פלטפורמה) WinTypes = Windows; WinProcs = Windows; DbiTypes = BDE; DbiProcs = BDE; $ (DCC_UnitAlias). \ $ (תצורה) \ $ (פלטפורמה) DEBUG; $ (DCC_Define) שקר. נכון. שקר. שחרור; $ (DCC_Define) 0. שקר.
כמובן שלא תשנה את קובץ DPROJ ידנית, הוא מתוחזק על ידי דלפי.
אתה יכול * לשנות את שם התצורות לבנות, אתה יכול * לשנות את ההגדרות עבור כל תצורת בנייה, אתה יכול * לעשות זאת כך ש"שחרור "מיועד לאיתור באגים ו"באגים" מותאם עבור הלקוחות שלך. לכן אתה לא צריך לדעת מה אתה עושה :)
אוספים, בונים, רצים
כשאתה עובד על היישום שלך, מפתח אותו, אתה יכול להרכיב, לבנות ולהפעיל את היישום ישירות מ- IDE. עריכה, בנייה והפעלה תפיק את קובץ ההפעלה.
הידור תחביר יבדוק את הקוד שלך ויגבש את היישום - תוך התחשבות רק בקבצים שהשתנו מאז ה- Build האחרון. קומפילציה מייצרת קבצי DCU.
בנייה היא הרחבה להרכבה בה מורכבים כל היחידות (אפילו אלה שלא השתנו). כשאתה משנה אפשרויות פרויקט עליך לבנות!
הפעלה קובעת את הקוד ומריצה את היישום. אתה יכול לרוץ עם באגים (F9) או בלי באגים (Ctrl + Shift + F9). אם מופעל ללא ניפוי באגים, הבאגים המובנים ב- IDE לא יופנו - נקודות הפסקה של ניפוי הבאגים שלך "לא" יעבדו.
עכשיו כשאתה יודע כיצד והיכן נשמרים תצורות ה- build, בוא נראה את ההבדל בין ה- Debug ו- Release build.
02
מיום 03
בנה תצורה: DEBUG - לאיתור באגים ופיתוח
את ברירת המחדל לבניית תצורת בניה, באפשרותך לאתר במנהל הפרויקטים של פרויקט הדלפי שלך, נוצר על ידי דלפי כאשר אתה יצר יישום / פרויקט חדש.
תצורת ניפוי באגים מבטלת אופטימיזציה ומאפשר באגים.
לעריכת תצורת ה- build: לחץ באמצעות לחצן העכבר הימני על שם התצורה, בחר "ערוך" מתפריט ההקשר ותמצא את עצמך מסתכל בתיבת הדו-שיח אפשרויות פרויקט.
אפשרויות ניקוי באגים
מכיוון שהבאג מאריך את בניית תצורת הבסיס, ההגדרות שיש להן ערך שונה יוצגו מודגשות.
לאיתור באגים (ולכן ניפוי באגים) האפשרויות הספציפיות הן:
- מהדר דלפי - קומפילציה - יצירת קוד - אופטימיזציה כבוי - המהדר לא יבצע מספר אופטימיזציות קוד, כגון הצבת משתנים ברישומי מעבד, ביטול ביטויים מצויים של ביטויים ויצירת משתני אינדוקציה.
- מהדר דלפי - קומפילציה - יצירת קוד - ערימת מסגרות על - מסגרות ערימה נוצרות תמיד עבור נהלים ופונקציות, גם אם אין בהן צורך.
- מהדר דלפי - קומפילציה - ניפוי באגים - מידע על ניפוי באגים כאשר תוכנית או יחידה מורכבים עם אפשרות זו מופעלת, שגיאות באגים משולבות מאפשרות לך נקודת הפסקה של צעד אחד ולהגדיר. מידע על ניפוי באגים "פועל" אינו משפיע על הגודל או המהירות של תוכנית ההפעלה - מידע על איתור באגים נערך בתוך ה- DCUs ולא נקשר להפעלה.
- מהדר דלפי - קומפילציה - ניפוי באגים - סמלים מקומיים מופעלים - כאשר תוכנית או יחידה מורכבים עם אפשרות זו מופעלת, באגים משולב מאפשר לך לבחון ולשנות את המשתנים המקומיים של המודול. סמלים מקומיים שנמצאים במצב "פועל" אינם משפיעים על גודל או מהירות התוכנית ההפעלה.
הערה: כברירת מחדל, ה- "השתמש בבאג .dcus" האפשרות כבויה. הגדרת אפשרות זו מאפשרת לך ניפוי באגים של קוד המקור של דלפי VCL (קבע נקודת הפסקה ב- VCL)
בואו נראה עכשיו על מה "שחרור" ...
03
מיום 03
בנה תצורה: RELEASE - להפצה ציבורית
תצורת ברירת המחדל לבנות שחרור, באפשרותך לאתר במנהל הפרויקטים של פרויקט דלפי שלך, נוצר על ידי דלפי כשיצרת יישום / פרויקט חדש.
תצורת שחרור מאפשרת לבצע אופטימיזציה ומשבית איתור באגים, הקוד לא נוצר לשיחות TRACE ו- ASSERT, כלומר גודל ההפעלה שלך מצטמצם.
לעריכת תצורת ה- build: לחץ באמצעות לחצן העכבר הימני על שם התצורה, בחר "ערוך" מתפריט ההקשר ותמצא את עצמך מסתכל בתיבת הדו-שיח אפשרויות פרויקט.
אפשרויות שחרור
מכיוון שהשחרור מרחיב את מבנה תצורת הבסיס, ההגדרות שיש להן ערך שונה יוצגו מודגשות.
לשחרור (הגרסה שישמשו את המשתמשים באפליקציה שלך - לא לצורך ניפוי באגים) האפשרויות הספציפיות הן:
- מהדר דלפי - קומפילציה - יצירת קוד - מיטוב ON - המהדר יבצע מספר אופטימיזציות קוד, כגון הצבת משתנים ברישומי מעבד, ביטול ביטויי משנה נפוצים ויצירת משתני אינדוקציה.
- מהדר דלפי - קומפילציה - יצירת קוד - ערימת מסגרות כבוי - מסגרות ערימה אינן נוצרות עבור נהלים ופונקציות.
- מהדר דלפי - קומפילציה - ניפוי באגים - מידע על ניפוי באגים כבוי - כאשר תוכנית או יחידה מורכבים עם אפשרות זו מושבתת, שגיאות באגים משולבות אינן מאפשרות לך נקודת הפסקה של צעד אחד ולהגדיר.
- מהדר דלפי - קומפילציה - ניפוי באגים - סמלים מקומיים כבוי - כאשר תוכנית או יחידה מורכבים עם אפשרות זו מושבתת, באגים משולב אינו מאפשר לבדוק ולשנות את המשתנים המקומיים של המודול.
אלה הם ערכי ברירת המחדל שנקבעו על ידי דלפי לפרויקט חדש. אתה יכול לשנות כל אחת מאפשרויות הפרויקט כדי ליצור גרסה משלך של תצורות ניפוי באגים או שחרור.