Thursday, June 27, 2013

_CrtIsValidHeapPointer(pUserData) assertion when compiling with /clr

The following explains how to resolve this issue when we are using unmanged code with managed one. Especially when we got an error in _CrtIsValidHeapPointer(pUserData), we can solve this issue by putting '__DllMainCRTStartup@12' in Force Symbol Reference in the Linker section/Input.

"I had a very similar problem with one of my mixed (managed and unmanaged) projects. I was using a Winforms with /clr specified for the GUI side calling into unmanaged code that at some point referenced a ATL header. Supposedly the winforms wizard configures the project by default to skip the CRT startup code when any ATL header file is detected and thus the reason for it crashing at the g_allocator initialization (this problem is not in the console /clr version). The fix below essentially reverses what the wizard does. On a side note, I included instructions below to obtain access to MSFTs symbols for use when debugging which helped me find this one, atleast to the point I knew what to search for in Google.

Link describing the problem
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=99715&wa=wsignin1.0

Anyhow here was what I had to do: add  __DllMainCRTStartup@12 in Force Symbols Reference section in the Linker section of the project settings.


VS2008 - To configure Symbol Server, open the symbol search path options dialog. (From the Tools menu, click Options. In the left pane of the Options dialog box, Open the Debugging node and click Symbols.) Add the following search path to the search list: http://msdl.microsoft.com/download/symbols. Add a symbol cache directory to the symbol server cache text box. Click OK."

Ref. http://social.msdn.microsoft.com/Forums/vstudio/en-US/62db4002-4ebc-4a3a-91ec-9fc702db821e/crtisvalidheappointerpuserdata-why-is-this-code-broken-vs2008

Labels

1018 325i 3D 3D Printer 3M 500GB 7200RPM 747 850i A-GPS A-ha A8 ACCIDENT Actor Administrator Privilege ADOBE AdSense aGPS Airplane Algorithm Animation Ansur Antennagate API Apple AppleCare April Fool ARLuxrender Asian Assisted GPS ATT Audi Auto Bash Battleship BBC Bejeweled Bejeweled 3 Belkin Bike BITCOIN Black n Decker Blender Blog Blogspot Bluetooth BMW Bose Browser BTC Bump mapping Butter Butterface Butterfly C C++ C220 Calculator Calvin Klein CAR Cartoon Casshern CBR CBR600RR Cell CF CG Chair Chinese Chrome City Hunter CK Clie Clothe Coffee Coffee maker Color Comics Command Prompt Comment Commercial Compiler Computer Computer architecture Computer graphics Computer science Connex Content-Aware Fill Cowboy Bebop CRYPTOCURRENCY Cryptography CURL Cygwin Dabdate DB Decal Design Design thinking Development Digital Camera Digital communication Disaster Diskette Display Dog Dragon Ball Drama Drawing Driving Drying rack DSP Duck E-TRADE EA Earthquake Easter Egg eBay Economy Encryption ENGINEERING Error ESL etc ETH Ethernet expect F1 Face Fashion find Firefox Fish Flight Dynamics Floppy FON Food FREE Fun FWD G4 Game Gangsta Gangster GDAX GFX Ghost GIT Gizmo5 Golf Google Google Analytics Google Voice Gossip GPS Graphics Green Day GTI Gundam Gurren Lagann Hacking Hackintosh HANGOUTS HARRP HASP SRM HCI HDD Headset Helicopter Helio High-tech History Hobby Honda Horror HP HTS Humor Hyundai iBook iBook G4 IKEA Illustration Image processing information theory Initial D Intel Internet Intro Iomega iPad iPhone iPhone 4 iPhone theme iPod iPod Video Iron IU Jailbreak Japan Java Jawbone Jeremy Jordan Jet Jetpack K12KB KAO Ken Block Ketchup Keynote KORBIT Korea Korean Kpop KRAKEN Kumho Kuwait Language Laptop LaserJet LCD Leaf Lego Lenovo Leopard Lexus LG Library Light saber Lightning Linear algebra Linux login LTC LTE Luxrender Lyric M30 MAC MacBook Macintosh MACOS Macross Macross 2 Macross Plus Magic MapReduce MARKET Matlab Mazinger Z MDRCBB Mechanical engineering Memory MESSAGE Microsoft Microwave Miniature Mio MLT Mobile Mobile Phone Moped Motorcycle Motorola Mouse Movie MP4 Music Music video Network Nike NODE. JS Nonlinear Optimization NORWAY Novel Octave Odaiba Olleh OpenGL Opening Orthodontics Oslo OSX Outlook Parody PBRT pctools Peanut Performance Perl Phone Photoshop PHP Picture Pidgin Plane Playstation Poem Polar bear Pop Portuguese post Pragma Prank Call Printer Program PROGRAMMING Protocol PS PUMA Push Push Push II PushPush PwnageTool PYTHON QuickTime R8 RAM RAYTRACING RAZR RC Recording Report Robot Rock Rocket punch RSYNC Russel Crowe RWD Samsung Sandstorm Satellite Satellite Radio Scanner Science Score Script SD SDK Security sed Semantic Web Semiconductor SF Shell SHOW SIP Skype SK네트웍스 Slang Sleeve Soccer SOFTWARE Sonata Song Sounddock Soundgarden Space Spyshot SQL SSD ssh sshd Stanford bunny StarTrek Starwars Stethoscope Steve Jobs Sticker Stock Storage system Subaru Sun Super Deformed T-Shirt Taekwon V TALK TBD Tease Technology Teeth Telecommunication Tennis tethering Textfree TH55 The Perfect Storm Theme TI-89 TIBURON Tires Titanium Tom Mabe Tooth Tooth Explorer Torrent Toshiba Toshiba Power Saver Toy TPS Transformer Tsunami TV TV shows Ubuntu UC Ultrabase UMN Universal Century Unix Unlock USB Used Video Virtuosity Vista Visual Studio VISUALC++ VoIP VW WALLET Wallpaper Wanna Girl Wardriving Web 3.0 Wedding WiFi Wild Willy Windows Windows 7 Windows Vista Wireless WireShark WMV WOW WPS WRE54G X61 xargs XBOX XCode Yamato YF Youtube Z Gundam Zeliard Zuma 김간지 김현국 미국여자 방배추 뽀로로 위성 라디오 유희열 일본여자 조까를로스 주역 천자문 周易 天字文 德經 老子

Blog Archive