Hi Rolf,

Nope, I get 'in <fllename unknown>:0'

Guido

On Tue, Feb 14, 2012 at 00:06, Rolf Bjarne Kvinge <[email protected]> wrote:
> 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