DCSIMG
debug - שלמה גולדברג (הרב דוטנט)
Sign in | Join | Help

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

Browse by Tags

שיחזור החלון המוכר של השגיאות
17 May 11 09:54 AM | Shlomo | 2 comment(s)
בתפוז עלתה השאלה הבאה: יש לנו בעבודה שני מחשבים. בשניהם מותקן VS 2010. באחד חלון הException נראה כמו החלון הרגיל, דהיינו עם אופציה לראות את הException הפנימי ועוד כל מיני דברים, אבל במחשב השני החלון של הException נראה מאוד מצומצם (ומצ'וקמק) ואין אופציות לראות את הException הפנימי. השאלה היא איך אני מאפשר לראות את חלון הException הטוב? החבר'ה הטובים מתפוז לא ממש הבינו למה הוא מתכוון והיות שידידינו לא הסכים להביא צילום מסך הם לא יכלו לעזור לו. אני מניח שהוא התכוון לדבר הבא: חלון ה - Exception...
כיצד לדבג קוד שרץ תחת IIS - צעד אחר צעד
26 April 11 08:37 PM | Shlomo | with no comments
במידה ואתם מריצים קוד ב – Visual Studio זה לא משנה מה בחרתם במאפיינים של הפרויקט האם לעבוד עם ה – server של visual studio או לעבוד מול IIS, תוכלו לדבג את הקוד. אבל במידה והאפליקציה נמצא ב – IIS והרצתם אותה דרך גלישה בדפדפן ועדיין אתם רוצים לדבג, זה אפשרי בכמה שלבים פשוטים. (לקריאה על Remote Debugging ) ראשית פתחו visual studio. ופתחו את הפרויקט (אם יש לכם אותו – אם אין לכם עדיין אפשר לדבג אם יש לכם את קבצי ה – pdb אבל זה כבר נושא לפוסט אחר) בחרו ב – Attach to Process (בדרך כלל תחת tools או לחיצה...
Remote Debugging - המדריך המקוצר
20 July 10 09:25 PM | Shlomo | 2 comment(s)
איך אפשר להפעיל דיבוג מרחוק (Remote Debugging). בפוסט זה אני אציג מדריך מקוצר להפעלת דיבוג מרוחק. כידוע אחד הדברים הקשים ביותר בפיתוח זה תהליך ההעלאה של האפליקצייה לשרת, ואחד הדברים הקשים עוד יותר זה להבין למה הדברים לא עובדים כמו שצריך, ובדרך כלל מה שעושים זה לכתוב ללוג ולקרוא אותו, כעת נראה כיצד ניתן לדבג על ה - visual studio הלוקלי את האפליקצייה שיושבת בשרת. 1. חפשו במחשב שלכם תייקיה שנקראת Remote Debugger זה אמור לשבת ב - C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger...
Enable and Disable "Script Documents" in visual studio
15 July 10 11:43 AM | Shlomo | with no comments
איך ניתן להדליק ולכבות את מנגנון הדיבוג של javascript או של silverlight ב - Visual Studio. כידוע החל מ - VS2008 ניתן לדבג java script ב - visual studio בצורה קלה בעזרת ה - Script Documents היום לפתע זה הפסיק לעבוד (אצלי) - כלומר כשהרצתי את אתר ה - WEB לא הופיע ה - script document מה שאומר שלא יכולתי לדבג את הקוד. אחרי קצת שיטוטים בגוגל הגעתי לכאן מסתבר שהתקנתי לאחרונה silverlight וה - debugger של silverlight לא מוכן לעבוד יחד עם ה - debugger של asp.net. ולכן אתם צריכים לבחור מה אתם רוצים לדבג, הבחירה...
ה - debugger מתעלם מ - F10 וממשיך כאילו F5 נלחץ - למה ?
20 December 09 02:00 PM | Shlomo | 1 comment(s)
יצא לי לעבוד בפרוייקט מסויים שכל הזמן ה - debugger היה מתנהג כאילו לחצו על F5, וזה היה בלתי אפשרי לדבג. לא ממש הבנתי מה הבעייה, אבל ההתקנה הזאת פתרה את הנושא.
תגים:,
IE Developer Toolbar כלי מדהים עבור מפתחים
02 March 09 09:43 PM | Shlomo | 7 comment(s)
כבר כתבתי בעבר על התיסכול שלי, ממערכות תוכן לא טובות (בלשון המעטה) שהופוכות אותי למתכנת html ו javaScript, (ללא כוונות פגיעה למתכנתי html) בכל מקרה, אחד מהמשימות שלי היה, לשנות את המראה של מה שאנחנו מקבלים ממערכת התוכן, לדוגמא: שינוי צבע הרקע של העמוד. או, בראש העמוד יש תמיד שני חלקים, אחד עבור תמונה, והשני עבור טקסט חופשי, והייתי אמור לאפשר להכניס תמונה שתתפרש על כל השטח. (גם על השטח של האיזור החופשי.) אז איך פתרתי את הבעייה, הפיתרון הוא פשוט. אחרי שהדף עולה, אני יכול להפעיל סקריפט שישנה את ההופעה...
authentication from code using Login control (using reflection)
09 February 09 07:17 PM | Shlomo | 1 comment(s)
בהרבה מקרים כשאני משתמש עם ה Login Control, אני רוצה את האפשרות שבזמן פיתוח, יהיה לי לחצן שכשאני לוחץ עליו, הוא יעשה Login עם שם משתמש וסיסמא קבועים מראש, (אני לא רוצה להשתמש ב Remember Me) הבעייה, שה Control הנהדר, נותן לי את האפשרות רק לשנות את ה UserName מקוד, אבל הוא לא נותן את האפשרות לשנות את הסיסמא מקוד, וגם לא נותן את האפשרות לעשות Login מקוד, ולכן. מה שאני עושה זה לכתוב את הקוד הבא, ב PageLoad: 1 #if DEBUG 2 Button btn = new Button (); 3 btn.Text = "Login With 1 and 1" ; 4 form1...
איך אפשר לדבג את הקוד של FxCop
20 December 08 07:34 PM | Shlomo | 2 comment(s)
אז כמו שהבטחתי, בסוף הפוסט הקודם , הפוסט הנוכחי ידגים איך אפשר לדבג קוד של Code Analysis שאנחנו כותבים. אז, בדרך כלל כשאנחנו רוצים לדבג Visual Studio, אנחנו פותחים עוד Visual Studio, ועושים Attach to Process, (תחת תפריט Debug) ובחרים את ה Process שזה בדרך כלל, אותו Visual Studio שאנחנו רוצים לדבג, וברגע שיש Exception, אנחנו מקבלים חיווי ב Visual Studio השני. אבל, מסתבר שב Code Analysis זה פשוט לא עובד, אני לא סגור על הסיבות, אבל זה המציאות, וצריך להתמודד עם זה, ולכן כדי שנוכל לדבג את הקוד, אנחנו...
Force a switch block to implement all cases (using FxCop)
19 December 08 11:51 AM | Shlomo | 10 comment(s)
זה מבאס אבל ממש מבאס, ולמי שזה לא קרה עדיין שיצביע, אני מדבר כמובן על המצב שבו אתם יושבים וכותבים במשך שעה ארוכה פוסט מושקע עם דוגמאות, ואז כשהכול מוכן ל Publish, בלחיצת כפתור הכל נמחק. אבל כמובן שנהיה חזקים ונשקיע עוד שעה מהחיים עבור הקהילה, ונכתוב את הכל מחדש. אז אחרי שהתבכיינתי, נגש לעניין. באחד הפוסטים הראשונים כתבתי על דרך להכריח את המתכנתים כשעושים switch על enum, לעשות case על כל האפשריות, ו Arielr כתב בתגובה " לא יהיה יותר קל לכתוב חוק של FXCOP ולסגור עניין? " אז חשבתי לעצמי, קדימה...
הבאג המוזר (קידום ערכי משתנים בכל צפייה)
13 December 08 01:57 PM | Shlomo | 7 comment(s)
יצא לי לאחרונה להתקל בהתנהגות מוזרה. נראה את קטע הקוד הבא: 1 public class Person 2 { 3 private static int m_Counter; 4 5 public static int Counter 6 { 7 get 8 { 9 m_Counter++; 10 return m_Counter; 11 } 12 } 13 } לכאורה כל פעם שנגש למאפיין נקבל index רץ. אבל בואו נראה איך הכל משתבש על ידי ה debugger. בתמונה אנחנו רואים, שכשאנחנו מסתכלים על הערך של המאפיין הוא שווה לאחד, עכשיו נעבור לתמונה הבאה מה אנחנו רואים ? בכל פעם שנסתכל ב watch הערך יתקדם באחד, והסבה היא פשוטה, הסתכלות ב watch שוות ערך לקריאה...
תגים:,
Watch your object
09 December 08 06:50 AM | Shlomo | 8 comment(s)
כשאנחנו מסתכלים ב watcher על אובייקט כלשהו, אנחנו רואים למעשה את ה ToStfing שלו, לדוגמא אם האוביקט שלנו נראה כך: 1 public class Person 2 { 3 public int Id { get ; set ; } 4 public string Name { get ; set ; } 5 6 public Person( int id, string name) 7 { 8 Id = id; 9 Name = name; 10 } 11 } ונעמוד עליו ב debug נראה את הדבר הבא: כמו שאנחנו רואים, בעמודת ה value אנחנו מקבלים את ה ToString ה default של המערכת (שזה שם ה namesapce.class) אם אנחנו רוצים לראות לדוגמה את השם, אפשרות ראשונה זה כמובן לעשות override...