זוהי הפקודה nccnav שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
nccnav, nccnavi - חקור את הפלט של nccgen בקונסולת מצב טקסט
תַקצִיר
nccnav [Code.map]
nccnavi [Code.map]
תיאור
דף מדריך זה מתעד בקצרה את nccnav פקודה שבה ניתן להשתמש כדי לגלוש ב-
פלט שנוצר על ידי nccgen על קבוצה של קבצי C/C++.
פקודות (מצב 1)
כאשר יופעל לראשונה, nccnav יציג רשימה של קבצי מקור.
חץ מפתחות / דף up / דף מטה
ניתן להשתמש כדי לנווט לקובץ הרצוי
זן בוחר קובץ ומעביר את המשתמש למצב 2
q מחזיר את המשתמש למסך הקודם
O מציג רשימה של כל הפונקציות בקובץ שנבחר
AZ AZ (מלבד q)
מעביר את הסמן לפונקציה שמתחילה עם התו שצוין
E מציג רשימה של כל הפונקציות שלא נקראו על ידי פונקציה אחרת
G מציג רשימה של כל המשתנים הגלובליים
פקודות (מצב 2)
מצב זה מכוון סביב משאב שיכול להיות: קובץ, פונקציה, משתנה גלובלי,
חבר במבנה, מבנה
עבור כל אחד מהדברים לעיל, כל המשאבים הקשורים מפורטים. לדוגמה, במקרה של א
יש:
1. קבצים עם הגדרה (ייתכן שלא קיימת)
2. פונקציות קורא (כָּחוֹל)
3. משתנים גלובליים בשימוש על ידי (אָדוֹם)
4.
5. פונקציות שנקראות על ידי
אפור עמום: פונקציות שאינן קוראות לפונקציות אחרות.
חום: פונקציות שאכן קוראים לפונקציות אחרות.
אדום: התראת גלאי רקורסיה (אם מופעלת)
6. איברי מבנה בהם משתמשים (אפור כהה)
1-6
הזן באופן רקורסיבי MODE 2 עבור המשאב הזה.
q לחיצה על אנטר ב-4 או הקלדת 'q' תחזור למסך הקודם.
BACKSPACE
המסכים ההתחלתיים עם longjmp.
< מצב ההיסטוריה.
r לחיצה על 'r' על 5 אדום מביאה אותך למצב UNROLL.
m לחיצה על 'm' בפונקציה תביא אותך למצב קופץ
C לחיצה על 'C' תפעיל מערכת ("bash")
פְּנִימִי מקור צוֹפֶה
לחיצה עַל:
... a מבנה you
יחלץ ויציג את טקסט המבנה וההצהרה.
... a פוּנקצִיָה:
יציג את טקסט הפונקציה כפי שנמצא בקובץ המכיל את
הגדרת פונקציה. כדי שזה יעבוד, nccnav חייב להיות בשורש הנכון
ספרייה או נתיבים צריכים להיות מוחלטים. אפשרות ncc -ncfabs היא דווקא
מוֹעִיל.
שימו לב שאם פונקציה מדווחת להיות מוגדרת ביותר מקובץ אחד,
זה כנראה ייכשל. זה קורה כי nccgen לא מבדיל
פונקציות סטטיות שונות עם אותו שם. הם נחשבים אותו הדבר
הדבר והמשאבים שלהם מעורבים ב-nccnav. נכון לעכשיו, אם nccnav מזהה
יותר מקובץ אחד עבור פונקציה זה יוציא אזהרה.
... a פילה in מצב 2:
יציג את תוכן הקובץ כולו.
כברירת מחדל, מציג המקור הפנימי משתמש פָּחוּת. כאשר מופעל באמצעות ה nccnavi
הפקודה, קוד המקור מוזז אוטומטית ונצפה באמצעות פחות.
רקורסיה גַלַאִי
גלאי הרקורסיה מופעל כברירת מחדל.
ניתן להשבית אותו על ידי לחיצה על 'R' בזמן מצב 2. (זה אמור להיות יקר ועלול
להיות מבלבל)
גלאי הרקורסיה פועל במצב MODE 2 ואם המשאב הנוכחי הוא פונקציה. בזה
במקרה זה יצבע באדום את כל הפונקציות שנקראות על ידי הפונקציה הנוכחית, מה שיעשה
בסופו של דבר להוביל חזרה אליו בדרך כלשהי של רקורסיה.
לחיצה על 'r' באחד האדומים תציג את אחד הנתיבים האפשריים דרכם
רקורסיה יכולה לקרות. נכון לעכשיו אין דרך להציג נתיבים חלופיים.
במצב זה, 'q' יחזיר אותך בזמן ש-Enter ימשיך קדימה עמוק יותר לתוך MODE 2 עבור
המשאב הנבחר.
פופ אפ MODE
זוהי דרך חלופית לעיין בזרימת השיחה והיא מוזנת על ידי לחיצה על 'm' ב-a
פונקציה במצב 2.
נוצרים תפריטים קופצים, כאשר האלמנט העליון הוא פונקציה ומתחתיו הכל
פונקציות שנקראות על ידו. תנועה אפשרית עם החצים למעלה/מטה.
או RIGHT ירחיב חלון קופץ חדש עבור הפונקציה הנוכחית. q או LEFT ייסגר
המוקפץ הנוכחי והפעל את הקודם. SPACE זמין לצפייה במקור
קוד.
BACKSPACE יסגור את כל החלונות הקופצים ויחזור למצב 2.
לחיצה על '2' תכנס למצב 2 עבור הרכיב הנבחר הנוכחי. במקרה זה, HISTORY
ו-BACKSPACE מוגדרים בנקודת הפסקה הזו.
הִיסטוֹרִיָה MODE
בכל עת תוכל ללחוץ על '<' ו'>' כדי לדפדף בכל המסכים הקודמים.
באחד מהם יקפוץ חזרה למסך הזה. כל מפתח אחר ייצא ממצב ההיסטוריה.
דוגמא
נניח שהדרת את ליבת הלינוקס עם nccgen. איסוף כל קבצי nccout
ניתן לעשות עם:
למצוא . - שם \*.nccout | קסארגס חתול > kernel.map
אתה יכול להשתמש ב-pathremover כדי לחתוך נתיבים ארוכים ב- `kernel.map'.
למצוא . - שם \*.nccout | קסארגס חתול | מסיר נתיבים /mnt/src/hacks/linux-2.4.10/ > kernel.map
לאחר מכן, זה נצפה עם:
nccnav kernel.map
למידע נוסף על שימוש ב-nccgen על ליבת לינוקס, עיין ב:
/usr/share/doc/ncc/hacking.LINUX-KERNEL
השתמש ב-nccnav באינטרנט באמצעות שירותי onworks.net