out of memory exception–איך להתחיל לבדוק זליגות זיכרון

יום שישי, יולי 13, 2012

האם קרה לכם אי פעם שהאפליקציה מתרסקת עם out of memory ? בדרך כלל זה אומר שיש לכם זליגת זיכרון, אמנם בדוטנט אנחנו יודעים שיש מנגנון ניהול זיכרון (GC) שמאפשר לנו (לכאורה) לייצר כמה אובייקטים שנרצה (לא בו זמנית) והוא ידאג לשחרר אותם מידי פעם. מה בכל זאת עושים כשמקבלים כזו שגיאה. דבר ראשון נפתח את ה – Task Manager ונסתכל מה קורה לפרוסס כשמריצים אותו. כשאנחנו רואים שהזיכרון כל הזמן עולה במהירות סביר להניח שבסופו של דבר אכן לא יהיה מספיק מקום, (דליפת הזיכרון...
תגיות: , ,
3 תגובות

שיחזור החלון המוכר של השגיאות

יום שלישי, מאי 17, 2011

  בתפוז עלתה השאלה הבאה:   יש לנו בעבודה שני מחשבים. בשניהם מותקן VS 2010. באחד חלון הException נראה כמו החלון הרגיל, דהיינו עם אופציה לראות את הException הפנימי ועוד כל מיני דברים, אבל במחשב השני החלון של הException נראה מאוד מצומצם (ומצ'וקמק) ואין אופציות לראות את הException  הפנימי. השאלה היא איך אני מאפשר לראות את חלון הException הטוב?     החבר'ה הטובים מתפוז לא ממש הבינו למה הוא מתכוון והיות שידידינו לא הסכים להביא צילום מסך הם לא יכלו לעזור לו.   אני מניח שהוא התכוון לדבר הבא:   חלון ה - Exception הטוב - זה החלון הזה:     חלון ה - exception מצ'וקמק הוא התכוון לזה:       והפיתרון לקבל את החלון הטוב ולא...
5 תגובות

כיצד לדבג קוד שרץ תחת IIS – צעד אחר צעד

יום שלישי, אפריל 26, 2011

במידה ואתם מריצים קוד ב – Visual Studio זה לא משנה מה בחרתם במאפיינים של הפרויקט האם לעבוד עם ה – server של visual studio או לעבוד מול IIS, תוכלו לדבג את הקוד. אבל במידה והאפליקציה נמצא ב – IIS והרצתם אותה דרך גלישה בדפדפן ועדיין אתם רוצים לדבג, זה אפשרי בכמה שלבים פשוטים. (לקריאה על Remote Debugging) ראשית פתחו visual studio. ופתחו את הפרויקט (אם יש לכם אותו – אם אין לכם עדיין אפשר לדבג אם יש לכם את קבצי ה – pdb אבל זה כבר נושא לפוסט אחר)...
תגיות: , , ,
אין תגובות

Remote Debugging – המדריך המקוצר

יום שלישי, יולי 20, 2010

  איך אפשר להפעיל דיבוג מרחוק (Remote Debugging).     בפוסט זה אני אציג מדריך מקוצר להפעלת דיבוג מרוחק.   כידוע אחד הדברים הקשים ביותר בפיתוח זה תהליך ההעלאה של האפליקצייה לשרת, ואחד הדברים הקשים עוד יותר זה להבין למה הדברים לא עובדים כמו שצריך, ובדרך כלל מה שעושים זה לכתוב ללוג ולקרוא אותו, כעת נראה כיצד ניתן לדבג על ה - visual studio הלוקלי את האפליקצייה שיושבת בשרת.     1. חפשו במחשב שלכם תייקיה שנקראת Remote Debugger זה אמור לשבת ב - C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger (כמובן שיש לכל גרסה של visual studio תוכנה משלה) בתוך התיקייה יש בדרך כלל גרסה עבור 32 ביט ועבור...
תגיות: , ,
תגובה אחת

Enable and Disable "Script Documents" in visual studio

יום חמישי, יולי 15, 2010

  איך ניתן להדליק ולכבות את מנגנון הדיבוג של javascript או של silverlight ב - Visual Studio.   כידוע החל מ - VS2008 ניתן לדבג java script ב - visual studio בצורה קלה בעזרת ה - Script Documents   היום לפתע זה הפסיק לעבוד (אצלי) - כלומר כשהרצתי את אתר ה - WEB לא הופיע ה - script document מה שאומר שלא יכולתי לדבג את הקוד.   אחרי קצת שיטוטים בגוגל הגעתי לכאן מסתבר שהתקנתי לאחרונה silverlight וה - debugger של silverlight לא מוכן לעבוד יחד עם ה - debugger של asp.net.   ולכן אתם צריכים לבחור מה אתם רוצים לדבג, הבחירה נעשית המאפיינים של הפרוייקט תחת הטאב WEB        
תגיות: , , ,
אין תגובות

IE Developer Toolbar כלי מדהים עבור מפתחים

יום שני, מרץ 2, 2009

  כבר כתבתי בעבר על התיסכול שלי, ממערכות תוכן לא טובות (בלשון המעטה) שהופוכות אותי למתכנת html ו javaScript, (ללא כוונות פגיעה למתכנתי html)   בכל מקרה, אחד מהמשימות שלי היה, לשנות את המראה של מה שאנחנו מקבלים ממערכת התוכן,   לדוגמא: שינוי צבע הרקע של העמוד. או, בראש העמוד יש תמיד שני חלקים, אחד עבור תמונה, והשני עבור טקסט חופשי, והייתי אמור לאפשר להכניס תמונה שתתפרש על כל השטח. (גם על השטח של האיזור החופשי.)     אז איך פתרתי את הבעייה,   הפיתרון הוא פשוט. אחרי שהדף עולה, אני יכול להפעיל סקריפט שישנה את ההופעה של אלמנטים.   אבל כדי לדעת מה לשנות ואיך, אני משתמש ב IE Developer...
7 תגובות

authentication from code using Login control (using reflection)

יום שני, פברואר 9, 2009

  בהרבה מקרים כשאני משתמש עם ה 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.Controls.Add(btn);     5         btn.Click += (sender1, e1) =>     6    ...
תגובה אחת

איך אפשר לדבג את הקוד של FxCop

יום שבת, דצמבר 20, 2008

אז כמו שהבטחתי, בסוף הפוסט הקודם, הפוסט הנוכחי ידגים איך אפשר לדבג קוד של Code Analysis שאנחנו כותבים.  אז, בדרך כלל כשאנחנו רוצים לדבג Visual Studio, אנחנו פותחים עוד Visual Studio, ועושים Attach to Process, (תחת תפריט Debug) ובחרים את ה Process שזה בדרך כלל, אותו Visual Studio שאנחנו רוצים לדבג, וברגע שיש Exception, אנחנו מקבלים חיווי ב Visual Studio השני. אבל, מסתבר שב Code Analysis זה פשוט לא עובד, אני לא סגור על הסיבות, אבל זה המציאות, וצריך להתמודד עם זה, ולכן כדי שנוכל לדבג את הקוד, אנחנו צריכים לעשות את התהליך הבא: דבר ראשון בתוך הקוד של ה Code Analysis שאנחנו...
2 תגובות

Force a switch block to implement all cases (using FxCop)

יום שישי, דצמבר 19, 2008

זה מבאס אבל ממש מבאס, ולמי שזה לא קרה עדיין שיצביע, אני מדבר כמובן על המצב שבו אתם יושבים וכותבים במשך שעה ארוכה פוסט מושקע עם דוגמאות, ואז כשהכול מוכן ל Publish, בלחיצת כפתור הכל נמחק. אבל כמובן שנהיה חזקים ונשקיע עוד שעה מהחיים עבור הקהילה, ונכתוב את הכל מחדש. אז אחרי שהתבכיינתי, נגש לעניין.   באחד הפוסטים הראשונים כתבתי על דרך להכריח את המתכנתים כשעושים switch על enum, לעשות case על כל האפשריות, ו Arielr כתב בתגובה "לא יהיה יותר קל לכתוב חוק של FXCOP ולסגור עניין?" אז חשבתי לעצמי, קדימה בוא נממש את זה, אז נכנסתי לעולם של FxCop, וממשתי את...
8 תגובות