c++ - Boost serialization fails in release mode while working in debug -


I am using promotional serialization with xml files with the c ++ program. When I check my program in debug mode, it's working fine. Then I try with the same file in release mode, but my program fails while loading the file. I tried to create XML files in release mode with my program, loaded them back, and also crashed down.

The call stack indicates:

  packs_ui_main Exe! Boost :: archive :: basic_xml_grammar & lt; Char & gt; :: parse_start_tag (std :: basic_istream & lt; char, std :: char_traits & lt; char & gt; and amp; is = {...}) line 21 9C ++  

The actual bug is ahead, but I do not have any debug info deep in the call stack. I do not know what type of settings can be different between release and debug, can explain this accident

edit 1

I have a prebaseor I use the definitions in debug:

  WIN32; _CONSOLE; _DEBUG; __WXMSW__; __WXDEBUG __; _Windows; NOPCH; _USE_32BIT_TIME_T; I am using preprocessor definitions to release:  
  WIN32; NDEBUG; _WINDOWS; _CONSOLE; __WXMSW____; NOPCH; _USE_32BIT_TIME_T; _CRT_SECURE_NO_WARNINGS  

Some of them come from wxWidgets

edit 2

I have noticed that when I have someone I save the string in the XML file, it looks different between my release and debug configuration. It seems that the release version uses different encoding.

For example, "title" appears as "X ~ T" Other characters like spaces completely change the order of the string and insert special characters. I do not copy-paste (Probably \ 0)

I have ensured that both of my configurations are using a multi-byte character set.

In 100% of my expectation, when some debugger succeeds but fails with debugger , Then you move a function up to the local array.


Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -