(Wow, that formatting got massacred. Take 2.)
Hi everyone,
We've spent a lot of time this work week trying to sort out crashes that
only seem to happen when b2g is built with B2G_DEBUG=1.
Looking at nsDebug.h[1], if B2G_DEBUG (and hence DEBUG) are not defined,
the following macros evaporate:
142 #define NS_ABORT_IF_FALSE(_expr, _msg) do { /* nothing */ } while(0)
143 #define NS_WARN_IF_FALSE(_expr, _msg) do { /* nothing */ } while(0)
144 #define NS_PRECONDITION(expr, str) do { /* nothing */ } while(0)
145 #define NS_ASSERTION(expr, str) do { /* nothing */ } while(0)
146 #define NS_POSTCONDITION(expr, str) do { /* nothing */ } while(0)
147 #define NS_NOTYETIMPLEMENTED(str) do { /* nothing */ } while(0)
148 #define NS_NOTREACHED(str) do { /* nothing */ } while(0)
149 #define NS_ERROR(str) do { /* nothing */ } while(0)
150 #define NS_WARNING(str) do { /* nothing */ } while(0)
151 #define NS_ABORT() do { /* nothing */ } while(0)
152 #define NS_BREAK() do { /* nothing */ } while(0)
Similarly, in Assertions.h[2], things like MOZ_ASSERT() evaporate as well.
If you're using these macros, please make sure you have tested your
changes with B2G_DEBUG=1 before landing them.
Thanks,
--Mike.
1. http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#142
2. http://mxr.mozilla.org/mozilla-central/source/mfbt/Assertions.h#278
On 13-01-11 05:16 AM, Mike Habicher wrote:
Hi everyone,
We've spent a lot of time this work week trying to sort out crashes
that only seem to happen when b2g is built with B2G_DEBUG=1.
Looking at nsDebug.h[1], if B2G_DEBUG (and hence DEBUG) are not
defined, the following macros evaporate:
142
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#142>
#defineNS_ABORT_IF_FALSE
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_ABORT_IF_FALSE>(_expr,_msg
<http://mxr.mozilla.org/mozilla-central/ident?i=_msg>)do{/* nothing
*/ }while(0)
143
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#143>
#defineNS_WARN_IF_FALSE
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_WARN_IF_FALSE>(_expr,_msg
<http://mxr.mozilla.org/mozilla-central/ident?i=_msg>)do{/* nothing
*/ }while(0)
144
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#144>
#defineNS_PRECONDITION
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_PRECONDITION>(expr
<http://mxr.mozilla.org/mozilla-central/ident?i=expr>,str
<http://mxr.mozilla.org/mozilla-central/ident?i=str>)do{/* nothing */
}while(0)
145
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#145>
#defineNS_ASSERTION
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_ASSERTION>(expr
<http://mxr.mozilla.org/mozilla-central/ident?i=expr>,str
<http://mxr.mozilla.org/mozilla-central/ident?i=str>)do{/* nothing */
}while(0)
146
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#146>
#defineNS_POSTCONDITION
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_POSTCONDITION>(expr
<http://mxr.mozilla.org/mozilla-central/ident?i=expr>,str
<http://mxr.mozilla.org/mozilla-central/ident?i=str>)do{/* nothing */
}while(0)
147
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#147>
#defineNS_NOTYETIMPLEMENTED
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_NOTYETIMPLEMENTED>(str
<http://mxr.mozilla.org/mozilla-central/ident?i=str>)do{/* nothing */
}while(0)
148
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#148>
#defineNS_NOTREACHED
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_NOTREACHED>(str
<http://mxr.mozilla.org/mozilla-central/ident?i=str>)do{/* nothing */
}while(0)
149
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#149>
#defineNS_ERROR
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_ERROR>(str
<http://mxr.mozilla.org/mozilla-central/ident?i=str>)do{/* nothing */
}while(0)
150
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#150>
#defineNS_WARNING
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_WARNING>(str
<http://mxr.mozilla.org/mozilla-central/ident?i=str>)do{/* nothing */
}while(0)
151
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#151>
#defineNS_ABORT
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_ABORT>()do{/*
nothing */ }while(0)
152
<http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#152>
#defineNS_BREAK
<http://mxr.mozilla.org/mozilla-central/ident?i=NS_BREAK>()do{/*
nothing */ }while(0)
Similarly, in Assertions.h[2], things like MOZ_ASSERT() evaporate as
well.
If you're using these macros, please make sure you have tested your
changes with B2G_DEBUG=1 before landing them.
Thanks,
--Mike.
1. http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsDebug.h#142
2. http://mxr.mozilla.org/mozilla-central/source/mfbt/Assertions.h#278
_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g
_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g