Wiki Roadmap Timeline Tickets New Ticket Source Search Help / Guide About Trac Login

Ticket #254 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

Stacktracing changes to object

Reported by: fawzi Assigned to: ChristianK
Priority: major Milestone:
Component: unspecified Version: hg tip
Keywords: Cc:

Description

stacktracing changed a little the contents of FrameInfo? in tango svn (but not in 0.99.8).

in genobject (within Exception)

    struct FrameInfo{
        long line;
        size_t iframe;
        ptrdiff_t offsetSymb;
        size_t baseSymb;
        ptrdiff_t offsetImg;
        size_t baseImg;
        size_t address;
        char[] file;
        char[] func;
        char[] extra;
        bool exactAddress;
        bool internalFunction;
        void writeOut(void delegate(char[])sink){
            char[25] buf;
            if (func.length) {
                sink(func);
            } else {
                sink("???");
            }
            auto len=sprintf(buf.ptr,"@%zx",baseSymb);
            sink(buf[0..len]);
            len=sprintf(buf.ptr,"%+td ",offsetSymb);
            sink(buf[0..len]);
            if (extra.length){
                sink(extra);
                sink(" ");
            }
            sink(file);
            len=sprintf(buf.ptr,":%ld ",line);
            sink(buf[0..len]);
            len=sprintf(buf.ptr,"%zx",baseImg);
            sink(buf[0..len]);
            len=sprintf(buf.ptr,"%+td ",offsetImg);
            sink(buf[0..len]);
            len=sprintf(buf.ptr,"[%zx]",address);
            sink(buf[0..len]);
        }
        void clear(){
            line=0;
            iframe=-1;
            offsetImg=0;
            baseImg=0;
            offsetSymb=0;
            baseSymb=0;
            address=0;
            exactAddress=true;
            internalFunction=false;
            file=null;
            func=null;
            extra=null;
        }
    }
    interface TraceInfo
    {
        int opApply( int delegate( ref FrameInfo fInfo ) );
        void writeOut(void delegate(char[])sink);
    }

object.di now reflects this changes

Change History

04/05/09 09:03:25 changed by ChristianK

  • status changed from new to closed.
  • resolution set to fixed.

Applied in [1196], thanks!

Copyright © 2008, LDC Development Team.