TagLEET error: "access violation"
-
I had tried some years back to get some variant of ctags into my standard workflow, but it never stuck with me. Seeing @Michael-Vincent’s recent post encouraged me to give it another try.
But I’ve obviously done something wrong, because I get an Access Violation when I try to run any TagLEET
Notepad++ v7.8.6 (64-bit) Build time : Apr 21 2020 - 15:23:03 Path : C:\usr\local\apps\notepad++\notepad++.exe Admin mode : OFF Local Conf mode : ON OS Name : Windows 10 Enterprise (64-bit) OS Version : 1903 OS Build : 18362.720 Plugins : ComparePlugin.dll LuaScript.dll MarkdownViewerPlusPlus.dll mimeTools.dll NppConsole.dll NppConverter.dll NppEditorConfig.dll NppExec.dll NppExport.dll NppFTP.dll PreviewHTML.dll PythonScript.dll QuickText.dll TagLEET.dll XMLTools.dll
I installed ctags (copied
ctags.exe
into my path):C:\usr\local\share\PassThru\perl\nppCommunity\plproject>where ctags C:\usr\local\bin\ctags.exe C:\usr\local\share\PassThru\perl\nppCommunity\plproject>ctags --version Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert Compiled: Jul 9 2009, 17:05:35 Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net Optional compiled features: +win32, +regex, +internal-sort
I installed TagLEET:
for showing my problem, I created a new dummy project and ran
ctags -R
, which results in the following structure and contents:C:\usr\local\share\PassThru\perl\nppCommunity\plproject>dir /S Volume in drive C has no label. Volume Serial Number is 4A3F-937C Directory of C:\usr\local\share\PassThru\perl\nppCommunity\plproject 05/11/2020 09:07 AM <DIR> . 05/11/2020 09:07 AM <DIR> .. 05/11/2020 09:02 AM <DIR> lib 05/11/2020 09:06 AM 174 script.pl 05/11/2020 09:07 AM 595 tags 2 File(s) 769 bytes Directory of C:\usr\local\share\PassThru\perl\nppCommunity\plproject\lib 05/11/2020 09:02 AM <DIR> . 05/11/2020 09:02 AM <DIR> .. 05/11/2020 09:06 AM 205 myLib.pm 1 File(s) 205 bytes C:\usr\local\share\PassThru\perl\nppCommunity\plproject>type script.pl lib\myLib.pm tags script.pl #!/usr/bin/env perl use strict; use warnings; use lib './lib'; use myLib qw/libSub/; sub localSub { print "runs\n"; } localSub(); libSub(); myLib::otherSub(); lib\myLib.pm package myLib; use warnings; use strict; use Exporter qw/import/; our @EXPORT_OK = qw(libSub otherSub); sub libSub() { print "run libSub\n"; } sub otherSub() { print "run otherSub\n"; } 1; tags !_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/ !_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/ !_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/ !_TAG_PROGRAM_NAME Exuberant Ctags // !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/ !_TAG_PROGRAM_VERSION 5.8 // libSub .\lib\myLib.pm /^sub libSub() { print "run libSub\\n"; }$/;" s localSub .\script.pl /^sub localSub { print "runs\\n"; }$/;" s myLib .\lib\myLib.pm /^package myLib;$/;" p otherSub .\lib\myLib.pm /^sub otherSub() { print "run otherSub\\n"; }$/;" s
But when I then open
script.pl
, put the cursor onlocalSub();
on line 10 orlibSub();
on line 11, and run Plugins > TagLEET > Lookup Tag, I get the Access Violation error shown above.I tried a brand new fresh unzip of Notepad++:
Notepad++ v7.8.6 (64-bit) Build time : Apr 21 2020 - 15:23:03 Path : C:\usr\local\apps\npp-other\npp.7.8.6.bin.x64\notepad++.exe Admin mode : OFF Local Conf mode : ON OS Name : Windows 10 Enterprise (64-bit) OS Version : 1903 OS Build : 18362.720 Plugins : mimeTools.dll NppConverter.dll NppExport.dll TagLEET.dll
and it does the same.
I tried both with the .ctags file excerpt that @Michael-Vincent quoted in the other post, and without that config file (just in case it was causing the bug).
What am I missing / doing wrong?
-
After more debug:
v1.3.1 worked fine on 32-bit Notepad++.
So then I went to the sourceforge repo and saw v1.3.2 was available there.
When I manually installed the v1.3.2, it worked fine in 64-bit Notepad++ as well.
Does @gstavi want to ping nppPluginList to get Plugins Admin to download the newer version?
-
@PeterJones said in TagLEET error: "access violation":
So then I went to the sourceforge repo and saw v1.3.2 was available there.
Interesting. Sounds like the Plugin Admin links are both for the 32-bit version? Since I’ve been using a modified copy, I never noticed.
Sounds like it’s working for you now? I don’t find it that useful in single file projects - I just use function list, but for developing N++ plugins or maybe a multi-file Perl module (e.g., Win32::Mechanize::NotepadPlusPlus) it’s pretty helpful.
Cheers.
-
@Michael-Vincent said in TagLEET error: "access violation":
@PeterJones said in TagLEET error: "access violation":
So then I went to the sourceforge repo and saw v1.3.2 was available there.
Interesting. Sounds like the Plugin Admin links are both for the 32-bit version? Since I’ve been using a modified copy, I never noticed.
Nope. Putting the 32bit in the 64bit plugin folder, I get explicit 32-bit error
I tried downloading the 64bit directly from here, and got the same access violation.
I also verified nppPluginList correctly links to the 64bit zip for 1.3.1.
Sounds like it’s working for you now?
Yes, v1.3.2-64bit worked right off the bat, no problem.
I don’t find it that useful in single file projects - I just use function list,
That’s probably why it never “stuck” when I’d tried getting into ctags before.
but for developing N++ plugins or maybe a multi-file Perl module (e.g., Win32::Mechanize::NotepadPlusPlus) it’s pretty helpful.
That’s the personal project I’ll probably use it the most in. And my upcoming work project will involve a multi-file CPP program – I’ll mostly be in the IDE bundled with the hardware that the program will be running on, but when I’m at my desk, I’ll probably do “quick” edits in Notepad++, so ctags/TagLEET will probably help there, too.