Hi,

Do you get file name & line numbers in stack traces, like for this code?

try {
    throw new Exception ();
} catch (Exception e) {
    Console.WriteLine (e.StackTrace);
}

Rolf

On Mon, Feb 13, 2012 at 9:05 PM, Guido Van Hoecke <[email protected]> wrote:
> Hi,
>
> I have following CallerInfo routine:
>
>        /// <summary>
>        /// Returns a string with following components:
>        /// 1) The current time as a "yyyy-MM-dd HH:mm:ss.fff " string
>        /// 2) A string with following caller format S:M(L) where
>        /// S = Source filename,
>        /// M = Method name,
>        /// L = Line number in source file.
>        /// </summary>
>        /// <param name="frameNr">The calling frame nr.</param>
>        /// <returns>The callerinfo (see above)</returns>
>        private static string CallerInfo (int frameNr = 2)
>        {
>            var stackTrace = new StackTrace (true);
>            if (stackTrace.FrameCount <= frameNr) {
>                return string.Format ("No frame {0}, only {1} available!",
>                                   frameNr, stackTrace.FrameCount);
>            }
>            var stackFrame = stackTrace.GetFrame (frameNr);
>            var fileName = stackFrame.GetFileName();
>            fileName = fileName == null ? "?file?"
>                : fileName.Substring (1 + fileName.LastIndexOf ('/'));
>            var method = stackFrame.GetMethod().Name;
>            var linenr = stackFrame.GetFileLineNumber ();
>            return string.Format ("{0}:{1}({2})", fileName, method, linenr);
>        }
>
> When run (in debug mode) in a .net application this routine performs as
> intended and returns strings à la: 'MySourceFile:MyMethod(123)' when
> reporting about a call at line 123 in MyMethod of MySourceFile.cs
>
> However, when run when debugging a monotouch app on the simulator, only
> the method name is known, neither the filename nor the linenr seem to be
> available. This would produce following string (for the above test
> case): '?file?:MyMethod(0)'
>
> Shouldn't the StackFrame have the same structure and content with
> monotouch's mono runtime and the .net mono run time?
>
> I don't really understand why it isn't behaving as expected in a
> monotouch application that is being debugged.
>
> Or is there somewhere some option to be set so that FileName and
> FileLineNumber would be included?
>
> Anybody any pointers?
>
>
> Guido
>
> --
> Ehrman's Commentary:
>        1.  Things will get worse before they get better.
>        2.  Who said things would get better?
>
> http://vanhoecke.org ... and go2 places!
> _______________________________________________
> MonoTouch mailing list
> [email protected]
> http://lists.ximian.com/mailman/listinfo/monotouch
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to