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

Reply via email to