aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/qtcreatorcdbext
Commit message (Collapse)AuthorAgeFilesLines
* Debugger: add symbolgroup dumper to cdbbridgeDavid Schulz2024-04-181-0/+17
| | | | | Change-Id: I70f9831873cd17f0ee6a59c4345f2a28921c41bf Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Cdbext: report HRESULT as an integral data typeDavid Schulz2024-03-211-4/+18
| | | | | | | Fixes: QTCREATORBUG-30574 Change-Id: If877c32639c853bae9b6a5a5762f24a3954f60d5 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* Merge remote-tracking branch 'origin/13.0'Eike Ziller2024-02-292-28/+19
|\ | | | | | | | | | | | | Conflicts: src/plugins/android/androidsettingswidget.cpp Change-Id: Ifcb16aa16c7bc2792de25d0ee7a22cf0e39a05f8
| * Debugger: defer type look upDavid Schulz2024-02-272-28/+19
| | | | | | | | | | Change-Id: I425c2bfc3c88ebf46af161c5434c0c05a3bb9c97 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Merge remote-tracking branch 'origin/13.0'Eike Ziller2024-02-271-1/+1
|\| | | | | | | Change-Id: If752e3383b35873b696e8beca27d8838a4096c8a
| * LLVM: Use lldb-dap.exe on Windows for qtcreatorcdbextCristian Adam2024-02-231-1/+1
| | | | | | | | | | | | | | | | LLVM 18 has renamed lldb-vscode.exe to lldb-dap.exe. Change-Id: I4b0b108ebebc552a4c843f4c8a2fa563132176cd Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: David Schulz <david.schulz@qt.io>
* | Require C++20hjk2024-02-221-1/+1
|/ | | | | | Change-Id: Id6581a4c32ec6411195edb51339f017e4ddb51ff Reviewed-by: Marco Bubke <marco.bubke@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Debugger: add more debug output to the python cdbext moduleDavid Schulz2024-02-191-0/+17
| | | | | | Change-Id: I48b4fb6a65eb486b190238ff161ea358bf4d3bf5 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Debugger: always try GetSymbolTypeId before iterating over modulesDavid Schulz2024-02-071-2/+1
| | | | | | | This seems to even out some of the huge lookup spikes here. Change-Id: I594c84dfd053be5626cd1f8c423ef00c7c77f37c Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* qtcreatorcdbext: Deploy lldb on WindowsCristian Adam2023-11-151-0/+20
| | | | | | | | | | | | | Starting with LLVM 17.0.1 we include lldb in the list of packages compiled on Windows. This commit deploys lldb.exe and its Python required machinery. Fixes: QTCREATORBUG-14539 Change-Id: I7f44c537cbaf31bf2f065762bdc9a48dd5efc64d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Build: Fix handling of (s)ccache supportEike Ziller2023-10-171-0/+1
| | | | | | | | So it also works when building individual projects like cdbext Change-Id: Ibb9cac77146a9f19cbbe22f2c7257b951f38f3fc Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* qtcreatorcdbext: python deployment for arm64Cristian Adam2023-03-011-1/+72
| | | | | | | | | | | | | | | | | | Use dumpbin to extract the symbols from the host dll. Use lib to create an arm64 library to link the qtcreatorcdbext.dll arm64 shared library. Use the PythonTargetArchDll CMake or environment variable to install the target arm64 python.dll If PythonTargetArchDll is not configured the script will download the python-embed-arm64.zip, extract and set PythonTargetArchDll Task-number: QTCREATORBUG-25859 Change-Id: I09320bb758fded546f203c905b75485d7de3b94e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: David Schulz <david.schulz@qt.io>
* MSVC: Enable exception handling for libs that use STL streamsOrgad Shaneh2023-02-231-0/+1
| | | | | | | | | | | | Sample warning: Building CXX object src\libs\qtcreatorcdbext\CMakeFiles\qtcreatorcdbext.dir\common.cpp.obj C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\ostream(342): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\ostream(335): note: while compiling class template member function 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned long)' F:\Projects\qt-creator\qt-creator\src\libs\qtcreatorcdbext\common.cpp(20): note: see reference to function template instantiation 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostream<char,std::char_traits<char>>::operator <<(unsigned long)' being compiled C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\sstream(655): note: see reference to class template instantiation 'std::basic_ostream<char,std::char_traits<char>>' being compiled Change-Id: I26508048a875aabe4c5b80ef4cccfe091a2a145e Reviewed-by: David Schulz <david.schulz@qt.io>
* Cdbext: lazy type lookupDavid Schulz2023-02-142-46/+124
| | | | | | | | | | | | | | | | Postpone the lookup until we need the type id. This potentially skips the lookup for unresolvable types that are just to parse template parameters. Also cache types we already checked to prevent looking up types multiple times. Additionally traverse all modules in order to find unresolvable types. This combination reduces the time the debugger needs to execute all dumper tests from ~7:30 to ~3:30 on my machine. Task-number: QTCREATORBUG-18287 Change-Id: Ie1e9771f124096c2a9ad24ac26c9b51fcded4fed Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Remove GPL-3.0+ from license identifiersKai Köhne2023-01-0633-33/+33
| | | | | | | | | | | | | | | Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0, this applies only to a hypothetical newer version of GPL, that doesn't exist yet. If such a version emerges, we can still decide to relicense... While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only Change was done by running find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \; Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Use SPDX license identifiersLucie Gérard2022-08-2633-792/+66
| | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Task-number: QTBUG-67283 Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* cdb: Use separate qtcreatorcdbext suffix for arm architectureCristian Adam2022-06-221-2/+6
| | | | | | | | This would allow arm64 to coexist with amd64 on the same installation. Change-Id: I578aab3d363bf93c2f61d4a7c93576ce19fba4b6 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: David Schulz <david.schulz@qt.io>
* CMake: Ensure qtcreatorcdbext is a shared library for all casesCristian Adam2022-05-031-1/+1
| | | | | | | | | | qtcreatorcdbext.dll is being loaded by cdb.exe and needs to be a shared library always. Change-Id: I13582f295744d350907284ea02e08ce1e8055dbe Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CdbExt: Fix Python-C API handlingv7.0.0-beta1Christian Stenger2022-02-102-2/+2
| | | | | | | | From 3.10 onwards we need an additional macro when parsing and building values. Change-Id: Ia0bcdde467d87a1c7d22ec8657e050cdf5f1e52e Reviewed-by: David Schulz <david.schulz@qt.io>
* CMake build: Fix static build of cdbext and sdktoolEike Ziller2022-02-041-12/+3
| | | | | | | | | | Remove workaround for building statically, which was required for CMake < 3.15. Since we increase the CMake requirement to 3.16, the /MD option is no longer part of the CXX_FLAGS variables, so the old workaround breaks the static build of these tools. Change-Id: Ifc4b1c81210777e1274b4907feb3b023f7454191 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Require CMake 3.16 and remove workaroundsEike Ziller2022-02-021-14/+6
| | | | | | | | | CMake 3.16 is available on the major Linux distributions nowadays, so we can get rid of some workarounds. Change-Id: I32500375748f33c3e40fbd7a08824d823f817a8f Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Remove qmake build filesEike Ziller2022-01-201-122/+0
| | | | | | | | | | Removes qmake as a build system for building Qt Creator itself. Keep them for some tests that are not completely moved to CMake yet. Change-Id: I846c6ef65626b6dfae6375fdc85d00677aa8c2fb Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CMake: Use newer FindPython3 module for CMake version greater than 3.12Cristian Adam2022-01-191-1/+10
| | | | | | | | | | FindPythonInterp and FindPythonLibs are deprecated since CMake 3.12. Fixes: QTCREATORBUG-26727 Change-Id: I53400d49ef6888bbeabb063a873c494b11d27e15 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CDB: always set stop reason when handling exceptionsDavid Schulz2021-11-221-2/+2
| | | | | | | | | Otherwise we get an unknown stop reason which might get handled differently in the cdbengine. Fixes: QTCREATORBUG-26506 Change-Id: Ia1622977631190d43a6b599b58410953cd2add6e Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Use lowercase for Windows header for supporting cross-compilationOrgad Shaneh2021-09-272-2/+2
| | | | | | | | | | Linux mingw uses lowercase headers, so cross-building on Linux for Windows target must use the correct form. Windows is case-insensitive, so it won't affect host-native builds. Change-Id: Ic2140412bb367bbce83b5e2546d70e0936928c5c Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: David Schulz <david.schulz@qt.io>
* cdbext: fix c++17 deprecation warningDavid Schulz2021-09-241-1/+6
| | | | | | Change-Id: I2d06f602b4b229d1dec1dc1924e473f6b7aa4f68 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CMake: Remove major version number dll suffixCristian Adam2021-09-101-1/+0
| | | | | | | | | | | | This was done to have qmake parity when we compared the qmake and cmake release builds. Since we are past that now, and the cmake build is the one used to do releases, we can drop the number from the dlls. Change-Id: I60d1b368daf4258884c239204c2e3c18f244e930 Reviewed-by: Orgad Shaneh <orgads@gmail.com> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* CMake build: Make it possible to separately build wininterrupt & cdbextEike Ziller2021-02-231-1/+19
| | | | | | | | | | By making them separate projects. Follow the pattern from sdktool. This is needed for building these tools on Windows 32bit for the Qt6-based installers - because Qt 6 doesn't provide Windows 32bit builds anymore. Change-Id: I82e2fdc7312e95079bb13f8c5f0ac1028c09222f Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Merge remote-tracking branch 'origin/4.14'Tim Jenssen2021-01-071-5/+3
|\ | | | | | | Change-Id: I70504e096be620434f38cd990c593950da8b24ba
| * CdbExt: correctly escape python messagesDavid Schulz2021-01-061-5/+3
| | | | | | | | | | | | | | | | | | | | Messages from python that contain a path like deprecation warnings contain backslashes. These unescaped backslashes result in parse errors on the creator side: "MI Parse Error, unrecognized backslash escape" Change-Id: Ic6eb6e1d95b18a653767a5b64030d755f6e8970a Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | CMake: Use copy_if_different for python dependency filesCristian Adam2021-01-061-1/+1
| | | | | | | | | | | | | | | | Using "copy" would always copy the files on build, which is suboptimal. Change-Id: I8c80732124a6642acae03220f3d43074cece4526 Reviewed-by: David Schulz <david.schulz@qt.io>
* | Merge remote-tracking branch 'origin/4.14'Eike Ziller2020-12-141-1/+5
|\| | | | | | | Change-Id: I842a7c7358fd0ff6d85c151806e440043914e09a
| * CMake: add _d filename suffix to python.zip for the cdbextensionDavid Schulz2020-12-141-1/+5
| | | | | | | | | | | | | | | | ... for debug builds Change-Id: Ia5279aff3658518b946cee3c910b885c5376bfe1 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* | Merge remote-tracking branch 'origin/4.14'Eike Ziller2020-11-251-0/+2
|\| | | | | | | | | | | | | | | Conflicts: src/plugins/designer/cpp/formclasswizard.h src/plugins/designer/cpp/formclasswizarddialog.h Change-Id: I9f9d166e1a9249022305503f9cbe571136c2a2b1
| * CDB: fix signed char container dumperDavid Schulz2020-11-201-0/+2
| | | | | | | | | | | | | | | | | | "signed char" might be reported as a template type but cannot be found when looked up, so just strip the "signed" from the typename and lookup char. Change-Id: I70e3b27d5c3bfd9e65da0a9f14b6a2df2c7e8dde Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Don't access static functions/fields via instanceAlessandro Portale2020-11-191-1/+1
|/ | | | | | | Courtesy of readability-static-accessed-through-instance Change-Id: I71f54244f1e091315dac2943d9e1bfad6efa56a9 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* Debugger: fix debugger in modified python environmentDavid Schulz2020-11-035-8/+16
| | | | | | | | | | | We do not want to pick up any python environment variables for the cdbext python initialization which might change the module search path, because we already contain the needed python modules in the zip file next to the extension. Fixes: QTCREATORBUG-24859 Change-Id: I0d597f42042d249529309263d71b0e740e903a48 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* cmake build: Handle turning on/off libraries the same as pluginsEike Ziller2020-11-021-1/+0
| | | | | | | | | | | | | | | | Previously the library targets were added, but with EXCLUDE_FROM_ALL. This had the effect that libraries were not compiled if nothing depends on them, but lead to various issues: It wasn't possible to manually control compilation, and it lead to the library targets still being exported, leading to configuration errors when building external plugins. Implement the same mechanism with BUILD_LIBRARY_* as with plugins, giving complete control. Change-Id: Idea3371d130593c5c2fdceee374021b6923db0c9 Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* CMake Build: Fix missing pythonXY.zip on MSVCCristian Adam2020-10-191-6/+21
| | | | | | | Ammends 94b9b33a17e3f7760cbbf9abd021984839106647 Change-Id: I531a648a108233fbefbe6878f65f8ab7186db39a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Install pythonXY.zip for qtcreatorcdbextEike Ziller2020-10-091-3/+7
| | | | | | Fixes: QTCREATORBUG-24528 Change-Id: I0db1407c17ff00a7424b8b8c229f503dc4891a12 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* cdbext: remove cdbdetection completelyDavid Schulz2020-09-154-126/+6
| | | | | | | | All required header and libs are inside the Windows 10 SDK, which is required to build with Visual Studio 2017. Change-Id: I68ee7457041653d89e5f5c9e258f9780a417dbe4 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* cdbext: add option to skip cdb detectionDavid Schulz2020-09-152-15/+23
| | | | | | | | | | Since a few windows sdk versions are the headers and libs of the debugger part of the sdk installation. Add an option to sdkip the cdb detection and fall back to use these headers and libs that are already configured in INCLUDE and LIBS of the vcvars.bat environment. Change-Id: If1eeecdbae34523ddbcc1a22d8640df7fa46bf6a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Add support for multiple Qt versions in "Load QML Stack"Dominik Holland2020-09-111-5/+76
| | | | | | | | Enable the functionality for cdb again. Change-Id: I75405f830dd208cc110d6682a45beedf2f4199cc Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: hjk <hjk@qt.io>
* Debugger: disable load qml stack action for cdbDavid Schulz2020-07-141-1/+1
| | | | | | | | | | | | Since collecting the qml stack relies on calling functions it has a high risk of getting stuck in that call at least with Qt 5.15. Never the less I added the correct function in the cdbextension so when the action get's re-enabled in the future we already start with an updated extension. Task-number: QTCREATORBUG-22209 Change-Id: I535f8db5a64ae48b4163d9b67e133cc3de338432 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Cdbext: Fix fetching partial variableDavid Schulz2020-07-143-9/+11
| | | | | | | | | | | Avoid calling PyValue::childCount as it expands the values in front of the partial variable recursively. This outdates scopeEnd as it is fetched before the items are expanded, which again results in a too early return from that function. Fixes: QTCREATORBUG-24108 Change-Id: I0848cde88c6ff8019a4ab22ac1153598c20e563d Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* CMake build: Link qtcreatorcdbext staticallyEike Ziller2020-06-251-0/+12
| | | | | | | | As in the qmake build Fixes: QTCREATORBUG-24252 Change-Id: Ifb6b375dfe515bb5ace2e70fcd2282d25b919ed5 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* CMake build: Avoid using extend_qtc_target directlyEike Ziller2020-05-181-1/+1
| | | | | | | Also add a extend_qtc_test which checks if the test is known. Change-Id: Idd3b3a02ac61fce2622cb8681233cfbd96a77bc4 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* qtcreatorcdbext: use std::unique_ptr instead of std::auto_ptrCristian Adam2020-04-302-3/+3
| | | | | | | Qt6 will require C++17, which has removed std::auto_ptr Change-Id: I4f87ce0196799269735a878592ef3e930e94d4fc Reviewed-by: David Schulz <david.schulz@qt.io>
* Merge remote-tracking branch 'origin/4.12'Eike Ziller2020-04-281-43/+60
|\ | | | | | | | | | | | | | | | | | | Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri src/libs/qtcreatorcdbext/qtcreatorcdbextension.cpp Change-Id: If6963d1ef7b5a1ea6343f68c8e7ce6fb5f482f21
| * Debugger: evaluate expression before assigning when using python dumperDavid Schulz2020-04-241-40/+60
| | | | | | | | | | | | | | Fixes: QTCREATORBUG-23711 Change-Id: Ic386b3e4bdd948e74f52116248de1b33a35fe03a Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>