Main Site Documentation

Help


#1

What is it during debugging.GC: 3msec 13752 bytes used, 50628 bytes available
Type 0F (STRING ): 144 bytes
Type 11 (CLASS ): 948 bytes
Type 12 (VALUETYPE ): 84 bytes
Type 13 (SZARRAY ): 228 bytes
Type 15 (FREEBLOCK ): 50628 bytes
Type 17 (ASSEMBLY ): 9180 bytes
Type 18 (WEAKCLASS ): 48 bytes
Type 19 (REFLECTION ): 24 bytes
Type 1B (DELEGATE_HEAD ): 144 bytes
Type 1D (OBJECT_TO_EVENT ): 48 bytes
Type 1E (BINARY_BLOB_HEAD ): 204 bytes
Type 1F (THREAD ): 384 bytes
Type 20 (SUBTHREAD ): 48 bytes
Type 21 (STACK_FRAME ): 1428 bytes
Type 27 (FINALIZER_HEAD ): 72 bytes
Type 31 (IO_PORT ): 72 bytes
Type 34 (APPDOMAIN_HEAD ): 72 bytes
Type 36 (APPDOMAIN_ASSEMBLY ): 624 bytes


#2

This is the output from garbage collector. you can simply ignore it


#3

I understand that this does not affect the performance of my device.


#4

No, this is only show when a debugger is connected to your device. You can turn those messages of using this:

Debug.EnableGCMessages(false);

#5

Are we sure about that? We’ve proven in the past that a “release” build of NETMF does not automatically strip out debug code. I would assume this also stands for GC messages. To be on the safe side, if you need every little CPU cycle then I would add this to your main():

#if(!DEBUG)
Debug.EnableGCMessages(false);
 #endif

#6

Ok you got me there, that’s something i assume :wink:


#7

The main confusion here is the fact that these methods are in a class named Debug. It has nothing to do with extra debug instructions, that will be optimized out by doing Release build.
Debug.Print and Debug.EnableGCMessages are regular methods. Think of them as
Util.Print and Util.EnableGCMessages.