عرض عدد خطوط في تتبع المكدس للحصول على .صافي الجمعية في وضع الإصدار

StackOverflow https://stackoverflow.com/questions/628565

سؤال

هل هناك طريقة لعرض خطوط في تتبع المكدس على .صافي الجمعية بناء/نشر في الإفراج عن الوضع ؟

تحديث:

طلبي هو تقسيمها إلى ثلاث مكتبة فئة مشاريع واحد ASP.NET "الموقع" المشروع.الخطأ أحاول تعقب في واحدة من ثلاث مكتبة فئة المشاريع.أنا فقط نشر ملف pdb لفئة مكتبة مشروع توليد "كائن مرجع لم يتم تعيينها إلى مثيل كائن" خطأ.

خط الأعداد لا تزال لا تظهر في تتبع المكدس.هل أنا بحاجة إلى نشر ملفات pdb لجميع المشاريع للحصول على خط الأعداد في كومة أثر ؟

العامل الحل

نشر ملف pdb لكل تطبيق إصلاح خط رقم القضية.

هل كانت مفيدة؟

المحلول

  • اذهب إلى نافذة الخصائص لهذا المشروع حيث كنت تريد أن ترى تتبع مكدس خط الأعداد.
  • انقر على بناء "التبويب عمودي".
  • حدد "الافراج" التكوين. التحقق من التصحيح المستمر المعلمة.
  • قم بإلغاء تحديد "تحسين رمز" المعلمة إلى تجنب بعض الأحيان تتبع المسألة مع inlined رمز (هذه الخطوة ليست ضرورية).
  • اضغط على خيارات متقدمة...زر اختيار المخرج -> معلومات التصحيح -> pdb فقط.
  • نشر ولدت .ملف pdb مع الجمعية.

تنفيذها مع التعليق أدناه:

  • آخر شيء يجب أن تحقق في "حزمة/نشر ويب" القسم أن "استبعاد ولدت رموز التصحيح" خانة الاختيار هو أيضا دون رادع

نصائح أخرى

في VS2012 تحتاج إلى إلغاء "استبعاد ولدت رموز التصحيح" في حزمة/نشر ويب خصائص المقطع كذلك.

الحل

نسخ ملف pdb في نفس مجلد الملف القابل للتنفيذ.

الآن أستطيع أن عرض رقم السطر عند تشغيل ملف exe.

هذا هو السبب

http://msdn.microsoft.com/en-us/library/ee416588%28v=vs.85%29.aspx

لقد واجهت مشاكل في الماضي حيث أشعر بالحاجة إلى نشر ملفات PDB مع بيان بناء من أجل تعقب خطأ.والسبب هو كما قلت أنه حدث استثناء في طريقة التي كانت كبيرة جدا وأنا لا يمكن تحديد بدقة حيث أنه كان يحدث.

هذا قد يكون مؤشرا على أن الأسلوب يجب أن يكون بتعميل الترميز إلى أصغر, أكثر دقة الأساليب.لا حجم واحد يناسب الجميع الإجابة, ولكن هذا النهج قد خدم معي بشكل جيد في المدى القصير (كثيرا ما كنت قد وجدت علة خلال إعادة بيع ديون) وعلى المدى الطويل.

مجرد فكرة.

تشمل رموز التصحيح مع بناء/نشر الحزمة.

في مقابل Express 2008, لقد وجدت أنه في إطار المشروع خصائص --> تجميع --> Advanced Compile Options.

يعمل هذا في كل مرة.تحتاج فقط إلى فرعية تتبع المكدس الرسالة.من السهل الحقيقي!أيضا ، vb.net كنت بحاجة إلى القيام "إظهار كافة الملفات" و تشمل pdb.

'Err is the exception passed to this function

Dim lineGrab As String = err.StackTrace.Substring(err.StackTrace.Length - 5)
Dim i As Integer = 0
While i < lineGrab.Length                   
    If (IsNumeric(lineGrab(i))) Then
        lineNo.Append(lineGrab(i))
    End If
    i += 1
End While

'LineNo holds the number as a string

C# الإصدار:

string lineGrab = error.StackTrace.Substring(error.StackTrace.Length - 5);

int i = 0;
int value;
while (i < lineGrab.Length)
{
    if (int.TryParse(lineGrab[i].ToString(), out value))
    {
        strLineNo.Append(lineGrab[i]);
    }
    i++;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top