Comments (7)
And there are also no Xbim.Geometry.Engine64.pdb and Xbim.Geometry.Engine32.pdb in release build configuration.
Release build throws exception in Xbim.Geometry.Engine64.dll while Xbim3DModelContext.CreateContext().
I tried to attach with debugger to learn deeper, but there is no symbol files in release.
Debug build doesn't throw any exception and works well.
from xbimgeometry.
My C++ is rusty, but some thoughts:
In debug builds there are additional checks on things like stack & heap overruns - likely why it only fails in Release. (In debug I'd check for exceptions being raised and logged. Enable all C++ exceptions in the Exception Settings window).
Equally in Release config the debug symbols (PDBs) are not created - which is why you don't see the symbol files.
Things you can try:
- Enable / change Runtime Checks in Debug
![image](https://private-user-images.githubusercontent.com/923699/274339095-ceb54d35-fd15-42a2-809e-d6e90b2402b6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg5OTU1ODQsIm5iZiI6MTcxODk5NTI4NCwicGF0aCI6Ii85MjM2OTkvMjc0MzM5MDk1LWNlYjU0ZDM1LWZkMTUtNDJhMi04MDllLWQ2ZTkwYjI0MDJiNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyMVQxODQxMjRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zYjZlM2FkODExNTJjOThkZDhlN2U2MGI3OGY3OTM3NGEyZTkzNDc0N2U4YjQ0ZGU3M2QwNmRhZTVmYmZiMDkyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.WHjK09SbMxbs9mykyd4HJKwg-R42EN-j4CTSiJSmAjU)
- Change the Generate Debug Info setting in the Linker in Release
![image](https://private-user-images.githubusercontent.com/923699/274339866-841b619f-6910-4c6d-a4a9-f7b070ff0f82.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg5OTU1ODQsIm5iZiI6MTcxODk5NTI4NCwicGF0aCI6Ii85MjM2OTkvMjc0MzM5ODY2LTg0MWI2MTlmLTY5MTAtNGM2ZC1hNGE5LWY3YjA3MGZmMGY4Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYyMVQxODQxMjRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZjYyZWU4MTRjYTliNmVmZWQ0MWViMzZmMjZlZjNkM2IyY2M0ZjIwMTg0ZjZiMTViZWI3OTFlNzcyOTQyMmMxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.rOMaYsWWB2sdGd-4X9BfgwqpDWYPLEeWw1RKA3er-BY)
from xbimgeometry.
Is there any way to get the same behavior as debug build in release?
Skipping some exceptions and getting result geometry (maby with skiped elements) would be greate result for me now)
from xbimgeometry.
Not really, short of using a debug (unoptimised) build. The /RTC (runtime checks) will only work in Debug/Un-optimised builds. https://learn.microsoft.com/en-us/cpp/build/reference/rtc-run-time-error-checks?view=msvc-170
What I'd hope the debug build willlet you do is identify the data / scenario that triggers the crash in Release. If you can track it down to a particular element others may be able to take a look.
from xbimgeometry.
So one more question.
Why debug-dlls don't work on other machine (without Visual Studio)?
Does it also means that I can't move them to other computer?
from xbimgeometry.
I think it uses different C++ runtime/libs in DEBUG - and these won't be on machines without VS. Probably a good reason not to go down that route. Best approach is to get a fix for the actual problem - but will need your model (or a subset of it) to reproduce
from xbimgeometry.
Ok. There are three problem files in archive.
If I use XBim.Essentials ver 5.1.323 + XBim.Geometry ver 5.1.730-develop, it doesn't crash.
But result geometry in 3.ifc contains many incorrect results (screenshot below).
1.ifc and 2.ifc are OK.
If I use XBim.Essentials ver 6.0.427-develop + XBim.Geometry ver 5.1.730-develop, it crashes.
from xbimgeometry.
Related Issues (20)
- net6.0 support HOT 4
- Cant create valid IfcSurfaceCurveSweptAreaSolid HOT 1
- Getting correct position of the model in world coordinates
- How to set up local development environment to fix bug's and create PR to contribute in xbim repositories. HOT 1
- How to get outer Edges for an IfcEntity using Xbim library ? HOT 8
- Load Ifc File System.AccessViolationException HOT 4
- Big size of result IFC file HOT 3
- XbimShapeInstance.Transformation places instance in world coordinates HOT 1
- Setting model units HOT 3
- Is v6 geometry engine currently much slower than v5?? HOT 2
- System.OutOfMemoryException. Array dimensions exceeded supported range. HOT 5
- GetShellPoints of a component HOT 1
- Failed to load IFC file: failed to load Xbim.Geometry.Engine64.dll HOT 6
- We need to get plot line bounding box distance for all levels. HOT 1
- We need to get shellpoints of any Building elements. HOT 1
- How to get face points of any building element. HOT 1
- ShapeUpgrade_UnifySameDomain causes a freeze HOT 5
- How to find Width of IfcRamp element?
- Degenerate wire leads to crash (BRepAdaptor_CompCurve) HOT 1
- WexBim viewer is not showing the geometry correctly HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from xbimgeometry.